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.
public class Solution { public String reverseWords(String s) { char[] c = s.toCharArray(); int pos = 0; for(int i=0;i<c.length;i++){ if(c[i] == ' '){ rev(c,pos,i-1); pos = i+1; } } rev(c,pos,c.length-1); return new String(c); } public void rev(char[] c, int start,int end){ while(start<end){ char tmp = c[start]; c[start] = c[end]; c[end] = tmp; start ++; end --; } } }