LeetCode345. 反转字符串中的元音字母
一、题目描述
二、解法
思路:对撞指针
class Solution { public String reverseVowels(String s) { if (s == null || s.length() < 2) return s; char[] chars = s.toCharArray(); int l = 0, r = chars.length - 1; while (l < r) { if (!isType(chars[l])) { l ++; continue; } if (!isType(chars[r])) { r --; continue; } swap(chars, l, r); l ++; r --; } return new String(chars); } private boolean isType(char c) { return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); } private void swap(char[] chars, int a, int b) { char temp = chars[a]; chars[a] = chars[b]; chars[b] = temp; } }