題目:
翻轉字符串里的單詞
解法:
先反轉字符串, 在反轉單詞, 即可達到目的.
public String reverseWords (String s){
s = ' ' + s.trim();
// 先反轉字符串, 再反轉單詞即可.
StringBuilder sb = new StringBuilder();
// 從后往前遍歷, 相當于反轉字符串
for (int i = s.length() - 1; i >= 0; i--) {
if (s.charAt(i) != ' ') {
// 檢測到單詞, 先搞定邊界
int start = i;
while (start >= 0) {
if (s.charAt(start) == ' ') {
break;
}
start--;
}
// 添加一個單詞
for (int j = start; j <= i; j++) {
sb.append(s.charAt(j));
}
i = start;
}
}
return sb.length() < 2 ? "" : sb.substring(1);
}