解题方法—java
倒叙遍历字符串,设置两个指针,代表要分割的字符串的首尾下标。
结果字符串要经常改动,所以使用StringBuilder,最后再转化为字符串。
class Solution {
public String reverseWords(String s) {
s = s.trim();//去掉首尾空格
StringBuilder res = new StringBuilder();
int j = s.length() - 1, i = j;
while(i >= 0){
while(i >= 0 && s.charAt(i) != ' ') i--;
res.append(s.substring(i+1,j+1) + " ");
while(i >= 0 && s.charAt(i) == ' ') i--;
j = i;
}
return res.toString().trim();//转化为字符串后输出
}
}
一些方法
方法名称 | 用法 |
---|---|
s.substring(beginIndex, endIndex) | 包含beginIndex, 不包含endIndex |
s.trim() | 去掉首尾空格 |