《銀河戰士:生存恐懼》試玩上線 港日美服均支援中文
阿新 • • 發佈:2021-10-28
https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/
使用雙指標
**部分API解釋:** **StringBuilder**:Java編譯器對String做了特殊處理,使得我們可以直接用+拼接字串。雖然可以直接 拼接字串,但是,在迴圈中,每次迴圈都會建立新的字串物件,然後扔掉舊的字串。這樣,絕大部分字串 都是臨時物件,不但浪費記憶體,還會影響GC效率。 為了能高效拼接字串,Java標準庫提供了StringBuilder,它是一個可變物件,可以預分配緩衝區, 這樣,往StringBuilder中新增字元時,不會建立新的臨時物件 substring:返回字串的子字串(起始索引, 結束索引(不包括結束索引))
class Solution { public String reverseWords(String s) { s.trim(); int j = s.length() - 1, i = j; StringBuilder res = new StringBuilder(); 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(); } }