345. 反转字符串中的元音字母

345. 反转字符串中的元音字母

345. 反转字符串中的元音字母_第1张图片


Java代码:

class Solution {
    public String reverseVowels(String s) {
        int n = s.length();
        char[] arr = s.toCharArray();  // 转换到数组swap
        int i = 0, j = n - 1;
        while (i < j) {
            while (i < n && "aeiouAEIOU".indexOf(arr[i]) < 0) {
                ++i;
            }
            while (j > 0 && "aeiouAEIOU".indexOf(arr[j]) < 0) {
                --j;
            }
            if (i < j) {
                swap(arr, i, j);
                ++i;
                --j;
            }
        }
        return new String(arr);
    }

    private void swap(char[] arr, int i, int j) {
        char temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}

你可能感兴趣的:(LeetCode刷题,算法)