LeetCode 第 345 题(Reverse Vowels of a String)
2016-05-01 19:28
531 查看
LeetCode 第 345 题(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”.
这道题用 C++ 来做是比较简单的。 STL 中有 set 类型,可以方便的判断一个字符是不是在特定的字符集合中。剩下的就是字符串操作。相对来说也比较简单。
下面是代码:
string reverseVowels(string s) { char vowels[] = "aeiouAEIOU"; set<char> dict(vowels, vowels + 10); string::iterator head = s.begin(); string::iterator tail = s.end(); while(head != tail) { if(dict.count(*head)) // 当前字符是原音字符 { while (tail != head) // 从后往前找 { tail --; if(dict.count(*tail)) // 找到了就做一下交换,即使这时 head 和 tail 指向同一个字符也没关系 { char t = *head; *head = *tail; *tail = t; break; } } if(tail == head) return s; } head ++; } return s; }
相关文章推荐
- Contiki Cooja ant run
- LeetCode 第 345 题(Reverse Vowels of a String)
- qt designer 文本文字居中
- JAVA GUI的介绍
- 几篇不错的文章~
- 分布式计算泛型
- LeetCode 第 14 题(Longest Common Prefix)
- LeetCode 第 14 题(Longest Common Prefix)
- poj 2975
- java数组
- printf汇总
- LeetCode 第 21 题 (Merge Two Sorted Lists)
- 20145237 《Java程序设计》第九周学习总结
- LeetCode 第 21 题 (Merge Two Sorted Lists)
- Unity3D-粒子光圈
- 4月10日第七次CCF
- android JSON详解
- VS2013 MFC 调用控制台 用于显示cout输出流
- PBEWithMD5AndDES算法
- LeetCode 第 66 题 (Plus One)