LeetCode 345 Reverse Vowels of a String (in java)
来源:互联网 发布:日文手写输入在线软件 编辑:程序博客网 时间:2024/06/14 04:47
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 static String reverseVowels(String s){ char sArr[] = s.toCharArray(); int begin = 0; int end = s.length() - 1; while(begin > end){ if(sArr[begin] == 'a' || sArr[begin] == 'e' || sArr[begin] == 'i' || sArr[begin] == 'o' || sArr[begin] == 'u'){ if(sArr[end] == 'a' || sArr[end] == 'e' || sArr[end] == 'i' || sArr[end] == 'o' || sArr[end] == 'u'){ char temp = sArr[begin]; sArr[begin] = sArr[end]; sArr[end] = temp; } end--; } begin++; } return new String(sArr);}
这是自己写的,测试运行后,还是输出原有字符串,并没有交换顺序。又调了下,还是不行,再找找原因…..
别人的代码,运行通过
搜索了别人答案,还是很不错的:
public static String reverseVowels(String s) { ArrayList<Character> vowelsList = new ArrayList<Character>(); vowelsList.add('a'); vowelsList.add('e'); vowelsList.add('i'); vowelsList.add('o'); vowelsList.add('u'); vowelsList.add('A'); vowelsList.add('E'); vowelsList.add('I'); vowelsList.add('O'); vowelsList.add('U'); char[] arr = s.toCharArray(); int begin = 0; int end = s.length() - 1; while(begin < end){ if(!vowelsList.contains(arr[begin])){ begin++; continue; } if(!vowelsList.contains(arr[end])){ end--; continue; } char temp = arr[begin]; arr[begin] = arr[end]; arr[end] = temp; begin++; end--; } return new String(arr);}
或者不使用额外空间的话:
public static String reverseVowels(String s) { String vowelsList = "aeiouAEIOU"; char[] arr = s.toCharArray(); int begin = 0; int end = s.length() - 1; while(begin < end){ if(!vowelsList.contains(String.valueOf(s.charAt(begin)))){ begin++; continue; } if(!vowelsList.contains(String.valueOf(s.charAt(end)))){ end--; continue; } char temp = arr[begin]; arr[begin] = arr[end]; arr[end] = temp; begin++; end--; } return new String(arr);}
参考{LeetCode – Reverse Vowels of a String (Java)}{http://www.programcreek.com/2015/04/leetcode-reverse-vowels-of-a-string-java/}
0 0
- LeetCode 345 Reverse Vowels of a String (in java)
- Leetcode Reverse Vowels of a String 345
- 【LeetCode-345】Reverse Vowels of a String
- leetcode 345Reverse 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
- 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(java)
- eclipse迁移as 混淆打包出错
- 面试题22
- C10K、C100K, C1000K=C1M,C10M( concurrent 10M connections)....千万级并发实现的秘密:内核不是解决方案,而是问题所在!
- docker等容器技术在云中如何定位
- 为ListView添加上下文菜单,并获取当前菜单所属item的id
- LeetCode 345 Reverse Vowels of a String (in java)
- iOS学习之—— NSMakeRange
- [sensorhub]MT6752/32平台sensor hub KK和L版本配置方法
- PCA:eig,eigs,princomp
- 基类
- Saiku AdminConsole
- Kettle学习_传输表数据
- NFMI
- PHP魔术方法和魔术常量