题目链接:https://leetcode-cn.com/problems/length-of-last-word/description/
题目描述
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例
输入: “Hello World”
输出: 5
解决方法
解题思路:考察字符串基本操作
class Solution {
public:
int lengthOfLastWord(string s) {
//从后往前找到第一个字母的位置
int pos=-1;
for (int i=s.size()-1;i>=0;i--)
if (isalpha(s[i])){
pos=i;break;
}
if (pos==-1) return 0; //不存在最后一个单词
//寻找最后一个单词的起始位置
int start;
if (s.find_last_of(" ",pos)!=string::npos) start=s.find_last_of(" ",pos);
else start=-1;
return pos-start;
}
};