題目:
示例:
分析:
給一個字符串,將里面的元音字母反轉(zhuǎn),并且保持非元音字母不變(包括順序).
字符串反轉(zhuǎn)類型的題,我們都可以使用雙指針來解決:定義首尾指針,分別向中間靠攏,直到首尾指針都指向了元音字母,然后交換首尾指針?biāo)傅淖帜?如此不會影響到非元音字母,同時也將元音字母反轉(zhuǎn)了.
?
代碼+結(jié)果如下:文章來源:http://www.zghlxwxcb.cn/news/detail-588433.html
class Solution {
public:
//判斷是否為元音字母
bool isY(char c){
if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U'){
return true;
}
return false;
}
string reverseVowels(string s) {
int l=0;
int r=s.size()-1;
//雙指針尋找首尾元音字母
while(l<r){
while(l<r&&!isY(s[l])) ++l; //左指針向右尋找元音字母
while(l<r&&!isY(s[r])) --r; //右指針向左尋找元音字母
char temp=s[l];
s[l]=s[r];s[r]=temp;
++l;--r;
}
return s;
}
};
文章來源地址http://www.zghlxwxcb.cn/news/detail-588433.html
到了這里,關(guān)于LeetCode 75 第五題(345)反轉(zhuǎn)字符串中的元音字母的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!