leetcode 345. Reverse Vowels(元音字母) of a String
来源:互联网 发布:扬州知行广告公司 编辑:程序博客网 时间:2024/06/03 19:38
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".
Note:
The vowels does not include the letter "y".
主要就是搞清楚元音字母是" a e i o u “这五个就好了,当然还包括它们的大写。
public String reverseVowels(String s) {StringBuilder sb=new StringBuilder(s);int frontPointer=0;int behindPointer=s.length()-1;while(frontPointer<behindPointer){while(frontPointer<s.length()&&!isVowels(sb.charAt(frontPointer))){frontPointer++;}while(behindPointer>=0&&!isVowels(sb.charAt(behindPointer))){behindPointer--;}if(frontPointer<behindPointer){char tmp=sb.charAt(frontPointer);sb.setCharAt(frontPointer, sb.charAt(behindPointer));sb.setCharAt(behindPointer, tmp);frontPointer++;behindPointer--;}}return sb.toString();}public boolean isVowels(char c){return c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I' ||c=='o'||c=='O'||c=='u'||c=='U';}大神判断是否是元音字母是用 hashset 做的,也蛮好的。
public class Solution { public String reverseVowels(String s) { char[] list=s.toCharArray(); Set<Character> vowels = new HashSet<>(Arrays.asList(new Character[]{'a','e','i','o','u','A','E','I','O','U'})); for (int i=0, j=list.length-1; i<j; ) { if (!set.contains(list[i])) { i++; continue; } if (!set.contains(list[j])) { j--; continue; } char temp=list[i]; list[i]=list[j]; list[j]=temp; i++; j--; } return String.valueOf(list); }}
阅读全文
0 0
- leetcode 345. Reverse Vowels(元音字母) of a String
- LeetCode 345. Reverse Vowels of a String(翻转元音字母)
- Leetcode #345. Reverse Vowels of a String 逆转元音字母 解题报告
- 逆转字符串中的元音字母 Reverse Vowels of a String
- Reverse Vowels of a String 交换元音字母
- 【leetcode80】Reverse Vowels of a String(元音字母倒叙)
- 【leetcode】 Reverse Vowels of a String(翻转字符串中出现的元音字母)
- 345. Reverse Vowels of a String (转置字符串中的元音字母)
- 345. Reverse Vowels of a String | 逆置字符串中的元音字母
- leetcode 345. Reverse Vowels of a String 反转字符串元音字符
- LeetCode 345. Reverse Vowels of a String
- leetcode-345. Reverse Vowels of a String
- #leetcode#345. Reverse Vowels of a String
- [leetcode] 345. Reverse Vowels of a String
- Leetcode:345. Reverse Vowels of a String
- LeetCode *** 345. Reverse Vowels of a String
- LeetCode.345. Reverse Vowels of a String
- LeetCode 345. Reverse Vowels of a String
- Ubuntu中vsftpd实现不同用户不同权限
- [LintCode 451] 两两交换链表中的节点(Python)
- Vue.js响应式原理
- 【C#学习】数组
- JavaWeb学习之JSP基本语法
- leetcode 345. Reverse Vowels(元音字母) of a String
- 一个 Yii + vue 项目(0)
- eclipse在使用junit的空指针问题
- JS将对象转换Json格式的字符串
- round 3
- VSFTPD实现用户权限不能删除 只能上传、下载
- fzu —Salty Fish
- React Native自定义Button
- C++虚基类