1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| class Solution { public String reverseWords(String s) { StringBuilder sb = new StringBuilder(); int j = s.length() - 1;
while (j >= 0) { while (j >= 0 && s.charAt(j) == ' ') { j--; }
if (j == -1) { break; }
int i = j; while (i >= 0 && s.charAt(i) != ' ') { i--; } sb.append(s, i + 1, j + 1).append(' '); j = i - 1; }
if (sb.length() == 0) { return ""; } else { return sb.deleteCharAt(sb.length() - 1).toString(); } } }
|