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.

 1 class Solution {
 2     public String reverseWords(String s) {
 3         if(s == null || s.length() == 0)
 4             return s;
 5         String []words = s.split(" ");
 6         StringBuilder result = new StringBuilder();
 7         for(String word : words){
 8             String newWord = reverseWord(word);
 9             result.append(newWord);
10             result.append(" ");
11         }
12         return result.toString().substring(0, result.toString().length() - 1);
13     }
14     private String reverseWord(String word){
15         char []arr = word.toCharArray();
16         for(int i = 0, j = arr.length - 1; i <= j; i++, j--){
17             char temp = arr[i];
18             arr[i] = arr[j];
19             arr[j] = temp;
20         }
21         return new String(arr);
22     }
23 }

 

posted on 2017-10-28 16:37  luckygxf  阅读(113)  评论(0编辑  收藏  举报

导航