
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
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.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public String (String s) { char[] str = s.toCharArray();
for (int i = 0; i < str.length;) { int j = i + 1;
for (; j < str.length; j++) { if (str[j] == ' ') break; }
reverse(str, i, j - 1);
i = j + 1; }
return String.valueOf(str); }
private void reverse(char[] str, int start, int end) { while (start < end) { char temp = str[end]; str[end] = str[start]; str[start] = temp;
start++; end--; } }
|
近期评论