Reverse

类型1: 只reverse单词顺序

Example 1:

Input: s = "the sky is blue"
Output: "blue is sky the"

可以用StringBuilder;也可以用reverse全部字母+reverse每个单词中的字母+remove空格

    public String reverseWords(String s) {
        String[] arr = s.split(" ");
        StringBuilder sb = new StringBuilder();
        for (int i = arr.length - 1; i >= 0; i--) {
            String str = arr[i].trim();
            if (str.length() > 0) {
                sb.append(str).append(" ");
            }
        }
        return sb.toString().trim();
    }

类型2: 不改变单词顺序,改变每个单词中的字母顺序

Example 1:

Input: s = "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

可以用StringBuilder;也可以找到每个单词,然后单独颠倒字母顺序

Last updated