标签:tar func one leo leetcode int mamicode fun ++
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".
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; } }
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 cha){ if(cha==‘a‘|cha==‘e‘||cha==‘i‘||cha==‘o‘||cha==‘u‘||cha==‘A‘||cha==‘E‘||cha==‘I‘||cha==‘O‘||cha==‘U‘){ return true; } else{ return false; } } }
(Easy) Reverse Vowels of a String - LeetCode
标签:tar func one leo leetcode int mamicode fun ++
原文地址:https://www.cnblogs.com/codingyangmao/p/11440767.html