LeetCode345 反轉字串中的母音字母
阿新 • • 發佈:2019-02-14
題目
編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。
示例
- 示例 1:
輸入: “hello”
輸出: “holle” - 示例 2:
輸入: “leetcode”
輸出: “leotcede”
說明:
母音字母不包含字母"y"
C++程式碼
母音字母:a,e,i,o,u
注意題目中沒有說大小寫需要區分。設一個字串temp=“aeiouAEIOU",兩個指標:left(s的首位)和right(s的末位),當left和right上的元素都屬於temp時(即都為母音字母),則交換。
class Solution { public: string reverseVowels(string s) { int left=0; int right=s.length()-1; while(left<right) { string tmp="aeiouAEIOU"; transform(tmp.begin(),tmp.end(),toupper); if(tmp.find(s[left])==string::npos) left++; else if(tmp.find(s[right])==string::npos) right--; else swap(s[left++],s[right--]); } return s; } };