LC 186 Reverse Words in a String II(M)
解题思路
public void reverseWords(char[] s) {
int i=0;
// 每个字单独翻转
for(int j=0; j<s.length; j++){
if(s[j]==' '){
reverse(s, i, j-1);
i=j+1;
}
}
// 最后一个字单独翻转
reverse(s, i, s.length-1);
// 整个字符串全部翻转
reverse(s, 0, s.length-1);
}
public void reverse(char[] s, int i, int j){
while(i<j){
char temp = s[i];
s[i]=s[j];
s[j]=temp;
i++;
j--;
}
}Last updated