557.reverse-words-in-a-string-iii


557. 反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 1:

输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"

注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格

解法一

class Solution {
    public String reverseWords(String s) {
        String result = "";
        String tmp = "";
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == ' ') {
                result += c;
                continue;
            }
            if (i == s.length() - 1 || s.charAt(i + 1) == ' ') {
                for (int j = i; j >= 0; j--) {
                    char d = s.charAt(j);
                    if (d == ' ') break;
                    tmp += d;
                }
                result += tmp;
                tmp = "";
            }
        }
        return result;
    }
}