跳至主要內容

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

T4mako算法双指针字符串小于 1 分钟

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

简单

题目描述open in new window

解题思路:

  • 双指针
class Solution {
    public String reverseVowels(String s) {
        char[] vowels = new char[]{'a','e','i','o','u'};
        Set<Character> set = new HashSet<>();
        for (char c : vowels) {
            set.add(c);
            set.add(Character.toUpperCase(c));
        }
        StringBuilder res = new StringBuilder(s);
        int left = 0,right = res.length() - 1;
        while (left < right){
            while(!set.contains(res.charAt(left)) && (left < right)) left++;
            while(!set.contains(res.charAt(right)) && (left < right)) right--;
            char temp = res.charAt(right);
            res.setCharAt(right--,res.charAt(left));
            res.setCharAt(left++,temp);
        }
        return res.toString();
    }
}
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5