Reverse Vowels of a String

来源:互联网 发布:淘宝可以买限定皮肤吗 编辑:程序博客网 时间:2024/05/14 21:34

典型的两根指针,对于当中的指针变换,我们需要好好总结一下。

public class Solution {        Set<Character> set;    private Set<Character> getSet() {        if (set == null) {            set = new HashSet<>();            set.add('a');            set.add('e');            set.add('i');            set.add('o');            set.add('u');            set.add('A');            set.add('E');            set.add('I');            set.add('O');            set.add('U');        }        return set;    }        public String reverseVowels(String s) {        if (s == null || s.length() < 2) {            return s;        }        int left = 0, right = s.length() - 1;        Set<Character> set = getSet();        char[] cArray = s.toCharArray();        while (left < right) {            if (!set.contains(cArray[left])) {                left++;                continue;            }            if (!set.contains(cArray[right])) {                right--;                continue;            }            char temp = cArray[left];            cArray[left] = cArray[right];            cArray[right] = temp;            left++;            right--;        }        return new String(cArray);    }}


0 0
原创粉丝点击