今天遇到了一个OJ 题, 和我豌豆荚电话面试那题差不多,于是想起了自己死掉的面试。
面试官是个女的,从来没和女生讨论过任何技术问题,面试妹子咄咄逼人,我当时就蒙B了。。然后什么都忘了,各种慌张。。面试的特别不好。然后问完技术,感觉已经跪了,然后问了我一个OJ题。。可能是妹子觉得我太菜了,就给了我一个简单的题,和leetCode 我今天遇到的这个题差不多,如下
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
public class Solution {
public String reverseWords(String s) {
StringBuilder sb=new StringBuilder();
int i=s.length()-1, j=s.length();
while(i>-1){
while(i!=-1&&s.charAt(i)!=' ') i--;
sb.append(s.substring(i+1,j));
if(s.charAt(j-1)!=' ') sb.append(" ");
j=i; i--;
}
return sb.toString().trim();
}
}
大概思路是,一层循环,复杂度O(n),然后用一个while让i跳过所有char找到空格,这样i和j之间就是一个word。
the sky is blue, the Edw is blue too.