【题目】
给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
【思路】
本题较为简单,将字符串按照空格分隔,返回最后一个单词的长度即可。
还有一种想法,直接使用两个变量end和start,从后往前找到单词的末尾位置和起始位置。
【代码】
python版本
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
# 找到单词末尾位置
end = len(s) -
while end >= :
if s[end] == ' ':
end -=
else:
break
if end < :
return
# 找到单词起始位置
start = end
while start >= :
if s[start] != ' ':
start -=
else:
break
return end - start
C++版本
class Solution {
public:
int lengthOfLastWord(string s) {
// 单词末尾位置
int end = s.size() - ;
while(end >= ){
if(s[end] == ' ')
end--;
else
break;
}
// 单词起始位置
int start = end;
while(start >= ){
if(s[start] != ' ')
start--;
else
break;
}
return end - start;
}
};