1. 程式人生 > >[Leetcode] 557. 反轉字串中的單詞 III

[Leetcode] 557. 反轉字串中的單詞 III

題目描述:

給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。

示例 1:

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

注意:在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。

解題思路:

思路是先用String類的split方法空格分割字串,然後在逐個單詞翻轉就OK啦,翻轉方式還是老生常談的雙指標方法啦!

程式碼實現(Java語言):

class Solution {
    public String reverseWords(String s) {
        String[] strs = s.split(" ");
        StringBuilder sb = new StringBuilder();
        for(String str:strs){
            char[] chars = str.toCharArray();
            for(int i=0,j=chars.length-1;i<j;i++,j--){
                char temp = chars[i];
                chars[i] = chars[j];
                chars[j] = temp;
            }
            sb.append(new String(chars) + " ");
        }
        return sb.toString().trim();
    }
}