557. Reverse Words in a String III

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

Example 1:

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

Note: In the string, each word is separated by single space and there will not be any extra space in the string.

解题要点:

此题用StringBuilder或StringBuffer做,先把字符串由空格分成一个个单词的字符数组,然后每个单词转换为StringBuilder,用reverse()方法把单个词语反转,再加进最终返回值里。最后记得要trim()掉最后的空格。

class Solution {
    public String reverseWords(String s) {
        StringBuilder sb = new StringBuilder();
        String[] str = s.split(" ");

        for(String word : str){
            sb.append(new StringBuilder(word).reverse().append(" "));
        }
        return sb.toString().trim();
    }
}

Last updated

Was this helpful?