(Easy) Reverse Vowels of a String - LeetCode

Description:

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

Example 1:

Input: "hello"
Output: "holle"

Example 2:

Input: "leetcode"
Output: "leotcede"

Note:
The vowels does not include the letter "y".

 

Solution:

first attempt:  failed one case. 

class Solution {
    public String reverseVowels(String s) {
        
        if(s ==null|| s.length()==0){
            return null;
        }
        
        
        String tmp = "";
        
        for(int i = 0 ; i<s.length(); i++){
            
            if(s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u'||s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U')
                tmp = tmp+s.charAt(i);
        }
        
        int k = tmp.length()-1;
        
        String res = "";
      for(int i = 0; i<s.length();i++){
          
          if(s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u'||s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U'){
              
              res = res+tmp.charAt(k);
              k = k-1;
          }
          else{
              
              res = res+s.charAt(i);
          }
          
          
      }
        return res;
        
        
    }
}

 

 

 

 Second Attempt

Solution:

class Solution {
    public String reverseVowels(String s) {
        
        if(s ==null|| s.length()==0){
            return "";
        }
        
        
        String tmp = "";
        
        int start = 0; 
        int end = s.length()-1;
        StringBuilder sb= new StringBuilder(s);
        
        boolean exchange_flag=false;
        boolean start_flag = false;
        boolean end_flag  = false;
          Character tmp_char2 ='-';
          Character tmp_char1 ='-';
        while(start<end){
             
            if(isVowel(s.charAt(start))){
                 start_flag = true;
             
                  tmp_char1 = s.charAt(start);
                
            }else{
                
                start = start+1;
            }
            
            if(isVowel(s.charAt(end))){
                
              
                 end_flag = true;
                  tmp_char2 = s.charAt(end);
                
            }
            else{
                end = end - 1;
            }
            
            if(start_flag&&end_flag){
                
                sb.deleteCharAt(start);
                sb.insert(start,tmp_char2);
                sb.deleteCharAt(end);
                sb.insert(end,tmp_char1);

                start = start+1;
                end = end-1;
                start_flag = false;
                end_flag = false;
            }
     
        }
        
        
        
       /* 
        for(int i = 0 ; i<s.length(); i++){
            
            if(s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u'||s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U')
                tmp = tmp+s.charAt(i);
        }
        
        int k = tmp.length()-1;
        
        String res = "";
      for(int i = 0; i<s.length();i++){
          
          if(s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u'||s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U'){
              
              res = res+tmp.charAt(k);
              k = k-1;
          }
          else{
              
              res = res+s.charAt(i);
          }
          
          
      } 
      * / 
        Return sb.toString (); 
        
        
    } 
    Public  boolean isVowel (Character not) { 
        
        IF (not == 'the | == not a' no || == 'She did || ==' o == || not 'u || not == 'A' || == no 'E' || == no 'I' did == || O || not == U ) {
             return  true ; 
        } 
        Else {
             return  false ; 
        } 
        
    } 
}

 

 

Guess you like

Origin www.cnblogs.com/codingyangmao/p/11440767.html