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.

大致意思是字符串按空格分隔,分隔后每个部分翻转,再组成新的字符串,要求保留空格。

思路很简单,按空格分隔后翻转再拼接即可

class Solution {
    public String reverseWords(String s) {
         String [] arr = s.split("\\s+");
        String result = "";
        for(int i=0;i<arr.length;i++)
        {
            result = result+" "+reverseString(arr[i]);
        }
        return result.substring(1);
    }
    /*
     * 翻转字符串
     */
    public static String reverseString(String s1)
    {
        return new StringBuffer(s1).reverse().toString();

    }
}

 

posted @ 2018-01-02 20:58  icychen  阅读(104)  评论(0编辑  收藏  举报