LeetCode每日一題: 反轉字串中的母音字母(No.345)

胖宅老鼠發表於2019-05-13

題目:反轉字串中的母音字母


編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。
複製程式碼

示例:


輸入: "hello"
輸出: "holle"

輸入: "leetcode"
輸出: "leotcede"
複製程式碼

思考:


用雙指標,兩個指標分別從左右兩端尋找母音字母,找到後交換位置即可。
複製程式碼

實現:


class Solution {
public String reverseVowels(String s) {
    String dict = "aeoiuAEOIU";
    char[] array = s.toCharArray();
    int left = 0;
    int right = array.length - 1;
    while (left < right) {
        while (left < right && (dict.indexOf(array[left]) < 0)) {
            left++;
        }
        while (left < right && (dict.indexOf(array[right]) < 0)) {
            right--;
        }
        if (left < right) {
            char temp = array[left];
            array[left] = array[right];
            array[right] = temp;
            left++;
            right--;
        }
    }
    return new String(array); 
}
}複製程式碼

相關文章