一、题目内容

image.png

二、题解

解法1:

思路

image.png
image.png

代码

  1. class Solution {
  2. public String reverseWords(String s) {
  3. s = s.trim();
  4. int i = s.length() - 1, j = s.length() - 1;
  5. StringBuilder sb = new StringBuilder();
  6. while (i >= 0) {
  7. //找到单词左边界
  8. while (i >= 0 && s.charAt(i) != ' ') {
  9. i--;
  10. }
  11. // 添加单词
  12. sb.append(s.substring(i + 1, j + 1));
  13. // 添加空格
  14. sb.append(" ");
  15. //跳过单词左边空格
  16. while (i >= 0 && s.charAt(i) == ' ') {
  17. i--;
  18. }
  19. //j与i归位,重复流程
  20. j = i;
  21. }
  22. return sb.toString().trim();
  23. }
  24. }