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) {
char[] chars=s.toCharArray();
int length=s.length();
int start=0;
for(int i=0;i<length;i++){
if(chars[i]==' '){
reverse(chars,start,i-1);
start=i+1;
}
}
reverse(chars,start,length-1);
return new String(chars);
}
char[] reverse(char[] c,int i,int l){
char s;
while(i<l){
s=c[i];
c[i]=c[l];
c[l]=s;
i++;l--;
}
return c;
}
}