zoukankan      html  css  js  c++  java
  • 字符串元音字母反转,其他的不变

    思路:用ArrayList存放元音字母(因为有个contains方法),并记录元音的序号和放进栈里面(反转类似栈先进后出),里面用到string与char数组的转换

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    import java.util.Stack;
    
    public class reverseWords {
       
        public static String reverseVowels(String s) {
            Stack<String> replace=new Stack<String>(); //利用栈先进后出
            List<Character> contain=new ArrayList<Character>(); //存储元音字母
            int count=0; //元音字母个数
            contain.add('a');
            contain.add('e');
            contain.add('i');
            contain.add('o');
            contain.add('u');
            contain.add('A');
            contain.add('E');
            contain.add('I');
            contain.add('O');
            contain.add('U');
            char[] ch=s.toCharArray();
            for(int i=0;i<s.length();i++){
                if(contain.contains(ch[i]))
                    count++;
            }
            if(count<2) return s; //元音小于2个不用反转
            int[] num=new int[count]; //记录元音字母位置
            int j=-1;
            for(int i=0;i<ch.length;i++){
                if(contain.contains(ch[i])){
                    num[++j]=i;
                    replace.push(String.valueOf(ch[i])); //进栈
                }   
            }
            for(int i=0;i<count;i++){
                    ch[num[i]]=replace.pop().charAt(0);
            }
            return String.valueOf(ch);   //char数组转string不可以用toString() 
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner=new Scanner(System.in);
             while(scanner.hasNext()){
               String str=scanner.next();
               System.out.println(reverseVowels(str));
           }
        }
    }
  • 相关阅读:
    The user specified as a definer (”@’%') does not exist解决方法
    mongodb下载地址
    镜像系统,超好用
    部署mysql后,无法设置用户远程登陆(%只所有用户,不可以,只能给指定的ip?)
    Libcap的简介及安装
    GCC命令基础
    gcc安装(centos)
    React Native 踩坑
    webpack 和 babel
    React 开发笔记
  • 原文地址:https://www.cnblogs.com/tk55/p/8463884.html
Copyright © 2011-2022 走看看