1. 程式人生 > >Reverse Words in a String III

Reverse Words in a String III

pri enc result rate ext sent spa pub init

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 }

Reverse Words in a String III