您的位置:首页 > 其它

*LeetCode-Reverse Words in a String II

2015-10-22 09:08 381 查看
首先把整个string reverse 然后每个词再reverse

或者先每个词reverse 再整个reverse 注意最后一个词要记得reverse 这也是只有一个词的coner case的情况

public class Solution {
public void reverseWords(char[] s) {
reverse( s, 0, s.length - 1);
int start = 0;
int end = 0;
for ( int i = 0; i < s.length; i ++ ){
if ( s[ i ] == ' '){
reverse ( s, start, end );
start = i + 1;
}
else
end = i;
}
reverse ( s, start, end );
}
public void reverse ( char[] s, int start, int end ){
while ( start < end ){
char c = s[ start ];
s[ start ] = s [ end ];
s[ end ] = c;
start ++;
end --;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: