58.最后一个单词的长度
思路
由于是找最后一个单词,所以可以想到直接从后往前找,因为有可能最后有空格,所以可以先记录最后一个单词的最后一个字母所在的位置,然后从这个位置开始再从后往前找到第一个空格结束。此时利用这个位置分割出字符串的子串即可。
代码
python API 暴力:
class Solution:
def lengthOfLastWord(self, s: str) -> int:
word = s.strip().split(" ")
return len(word[-1])
C++:
class Solution {
public:
int lengthOfLastWord(string s) {
int pos = s.size() - 1;
while (pos >= 0 && s[pos] == ' ') pos--;
int j = pos;
while (pos >= 0 && s[pos] != ' ') pos--;
string last = s.substr(pos + 1, j - pos);
return last.size();
}
};