这道题其实是151的基础。代码如下:
class Solution {
public void reverseWords(char[] s) {
reverse(s, 0, s.length - 1);
int head = 0, tail = 0;
for(int i = 0; i < s.length; i++){
if(s[i] != ' ' && (i == 0 || s[i - 1] == ' ')){
head = i;
}
if(s[i] != ' ' && (i == s.length - 1 || s[i + 1] == ' ')){
tail = i;
reverse(s, head, tail);
}
}
}
private void reverse(char[] array, int start, int end){
while(start < end){
char temp = array[end];
array[end] = array[start];
array[start] = temp;
start++;
end--;
}
}
}