博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 345. Reverse Vowels of a String
阅读量:6165 次
发布时间:2019-06-21

本文共 1793 字,大约阅读时间需要 5 分钟。

https://leetcode.com/problems/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".

两个指针,查找交换字符。一开始忘记在SWAP之后,移动指针了,导致死循环。。。新学到一个string::npos indicates no matches。

1 #include 
2 using namespace std; 3 4 class Solution { 5 public: 6 /* 7 bool isVowels(char chIn) 8 { 9 return ((toupper(chIn) == 'A' || toupper(chIn) == 'E' || toupper(chIn) == 'I' || toupper(chIn) == 'O' || toupper(chIn) == 'U'));10 }11 */12 13 string reverseVowels(string s) {14 int i = 0, j = s.length() - 1;15 string sVowels = "aeiouAEIOU";16 17 // Remember special case18 if (s == "" || s.length() == 0) return s;19 20 while (i < j)21 {22 // while (!isVowels(s[i]) && (i < j)) i ++;23 while ((sVowels.find(s[i]) == string::npos) && (i < j)) i ++;24 // while (!isVowels(s[j]) && (i < j)) j --;25 while ((sVowels.find(s[j]) == string::npos) && (i < j)) j --; 26 27 if (i < j)28 swap(s[i], s[j]);29 30 i ++;31 j --;32 }33 34 return s;35 }36 };37 38 int main ()39 {40 Solution testSolution;41 string result;42 43 result = testSolution.reverseVowels("hello"); 44 cout << result << endl;45 46 char ch;47 cin >> ch;48 49 return 0;50 }
View Code

string::find - C++ Reference

http://www.cplusplus.com/reference/string/string/find/

string::npos - C++ Reference

http://www.cplusplus.com/reference/string/string/npos/

 

转载于:https://www.cnblogs.com/pegasus923/p/5510740.html

你可能感兴趣的文章
struts国际化
查看>>
数据库 : 事物以及隔离性导致的问题
查看>>
Jquery乱码终极解决方案
查看>>
Android Fragment 真正的完全解析(上) (转载)
查看>>
多线程依次打印abcabc
查看>>
一:学习Linux前准备工作
查看>>
how to install wireless driver for Dell 630 in Ubuntu
查看>>
Kafka 配置参数汇总及相关说明
查看>>
弄清 CSS3 的 transition 和 animation
查看>>
服务器指定网卡进行备份数据避免影响业务口
查看>>
在Sublime Text 2下面开发Sass
查看>>
四则运算个人项目3
查看>>
eclipse 构建maven web工程
查看>>
237. Delete Node in a Linked List
查看>>
[转] webpack之plugin内部运行机制
查看>>
宽字节与多字节之间的转换
查看>>
SEO的重要性
查看>>
ASP.NET 运行时详解 揭开请求过程神秘面纱
查看>>
Oracle 索引的失效检查
查看>>
C语言第五次作业--数据类型
查看>>