runtime 0 ms, beats 100% of cpp submissions
O(n) solution with explanation

tags: string

Length of Last Word

📖 description

給定一個字串,回傳最後一個字詞的長度。

ex.
    Input: 
        s = "Hello World"

    Output: 5

    Explanation: 
        The last word is "World" with length 5.

🧠 solution

模擬操作,從後方遍歷陣列,找到第一個詞。

⏳ time complexity

最差狀況下遍歷整個字串,時間複雜度 O(n)
總時間複雜度 O(n)

📝 code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public:
int lengthOfLastWord(string s) {
int cnt = 0;
for(int i=s.size()-1;i>=0;i--){
if(cnt==0 && s[i]==' '){ // 如果當前還沒遇到空格
continue;
}
if(s[i]!=' '){ // 累加字串長度
cnt++;
}
if(cnt!=0 && s[i]==' '){ // 當再次遇到空格
break;
}
}
return cnt;
}
};