345. 反轉字符串中的元音字母
給你一個字符串 s ,僅反轉字符串中的所有元音字母,并返回結果字符串。
元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小寫兩種形式出現。
示例 1:
輸入:s = “hello”
輸出:“holle”
示例 2:
輸入:s = “leetcode”
輸出:“leotcede”
解題思路
使用雙指針l,r,分別指向左右兩個部分的元音字母,每次交換左右指針的指向的值,直到l>=r,完成字符串的翻轉
代碼
class Solution {public String reverseVowels(String s) {char[] array = s.toCharArray();int l=0,r=array.length-1;while (l<r){while (l<r&&array[l]!='a'&&array[l]!='i'&&array[l]!='o'&&array[l]!='u'&&array[l]!='e'&&array[l]!='A'&&array[l]!='I'&&array[l]!='O'&&array[l]!='U'&&array[l]!='E'){l++;}while (l<r&&array[r]!='a'&&array[r]!='i'&&array[r]!='o'&&array[r]!='u'&&array[r]!='e'&&array[r]!='A'&&array[r]!='I'&&array[r]!='O'&&array[r]!='U'&&array[r]!='E'){r--;}char t=array[l];array[l]=array[r];array[r]=t;l++;r--;}return new String(array);}
}