• leetcode-Reverse Vowels of a String


    Write a function that takes a string as input and reverse only the vowels of a string.

    Example 1:
    Given s = "hello", return "holle".

    Example 2:
    Given s = "leetcode", return "leotcede".

    代码解析:

    public class Solution {
          public static String reverseVowels(String s) {
          //  if(s == null) return null;
            int len = s.length();
            char tmp;
            //构造数组操作
            char[] arr = s.toCharArray();
            for(int i =0 ,j=len-1 ; i<j ;i++,j--){
                char chi = arr[i];
                if(!isVowels(chi)){
                  j++;
                  continue;
                }
                char chj = arr[j];
                if(!isVowels(chj)){
                    i--;
                    continue;
                }
                if(isVowels(chi)&&isVowels(chj)){    
               //因为string是不可变的~~~!!!!所以不能赋值
                    tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j]= tmp;
                    //s.charAt(i)  = chj;
                    //上述形式为什么老是编译不过???
                    //因为String一旦定义好,就不可改变!!!!因此将String -> Arrays!!!
                }
            }
            //char -> string ,使用 String.valueOf(), arrays.toString()返回的不是原样式的String
           return String.valueOf(arr);
        }
        public static boolean isVowels(char ch){
            if(ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U'||ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u') return true;
            return false;
        }
        
    }

    总结:Array -> String三种方式:

    1、String.valueOf(arr);   //直接传入

    2、new String(arr); //直接传入

    3、sb = new StringBuilder();

            sb.append(arr[i]); //依次传入

    String -> array:   str.toCharArray(); 字符数组

    char -> int      :   i = char-'0';

    int -> char      :   char = i+'0';

  • 相关阅读:
    【leetcode】1030. Matrix Cells in Distance Order
    【leetcode】1031. Maximum Sum of Two Non-Overlapping Subarrays
    【leetcode】1032. Stream of Characters
    L120 单词造句
    L119
    L118
    2018.8.6邮件规范一
    L117
    L116
    L115
  • 原文地址:https://www.cnblogs.com/neversayno/p/5434704.html
Copyright © 2020-2023  润新知