本文共 789 字,大约阅读时间需要 2 分钟。
思路:思路很简单,反着读,非空格暂存,读到空格拼接。难点在于前后空格省略,中间空格合并为一个。只是优化的难点,不是实现的难点。
耗时:440ms。处于下游水准,代码较渣。
public class Solution { public String reverseWords(String s) { if (s.length()<1) { return s; } String a = ""; String answer = ""; boolean flag=true; for (int i = s.length() - 1; i >= 0; i--) { String k = s.substring(i, i + 1); if (flag) { if (k.equals(" ")) { }else { flag=false; a=k+a; } }else { if (k.equals(" ")) { flag=true; answer=answer+" "+a; a=""; }else { a=k+a; } } } if (a.length()!=0) { answer=answer+" "+a; } if (answer.length()==0) { return ""; } while (answer.substring(0,1).equals(" ")) { if (answer.length()==1) { return ""; } answer=answer.substring(1, answer.length()); } return answer; }}