# 【LeetCode】 58. Length of Last Word
## Description
> Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word (last word means the last appearing word if we loop from left to right) in the string.
> If the last word does not exist, return 0.
> Note: A word is defined as a maximal substring consisting of non-space characters only.
> 給予一個字串包含大小寫英文字母和空白鍵,回傳字串中最後一個單字的長度。(最後一個單字指從左往右數最後一個出現的字)
> 如果最後一個單字不存在,回傳 0。
> 注意:一個單字定義為非空格組成的最長子字串。
## Example:
```
Input: "Hello World"
Output: 5
```
## Solution
* C++中有個類別叫做`stringstream`非常好用,請務必學起來。
* `stringstream`可以重新將字串串流化,也就是說你可以把字串當作stdin,然後用cin的方法來重新接收資料,常用於字串整理或是字串轉數字等。
* 我們只需要用`stringstream`不停重新讀入原字串,直到最後一個字串取出他們長度即可。
* 要注意只有空白、沒有字串的情況。
### Code
```C++=1
class Solution {
public:
int lengthOfLastWord(string s) {
stringstream ss(s);
while(ss)
{
ss >> s;
}
string::iterator end_pos = remove(s.begin(), s.end(), ' ');
s.erase(end_pos, s.end());
return s.length();
}
};
```
###### tags: `LeetCode` `C++`