您的位置:首页 > 其它

【LeetCode】58. Length of Last Word

2017-03-09 17:24 309 查看

题目描述

Given a string s consists of upper/lower-case alphabets and empty space characters ’ ‘, return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

For example,

Given s = “
Hello World
“,

return
5
.

解题思路

从后往前,从第一个非空格的字符开始,找到第一个空格或者字符串的开头为止。

AC代码

class Solution {
public:
int lengthOfLastWord(string s) {
if (s.empty())
return 0;

int startIdx = s.size() - 1;
// strip the final space
for (; startIdx >= 0; --startIdx) {
if (s[startIdx] != ' ')
break;
}
if (startIdx < 0)
return 0;

for (int i = startIdx; i >= 0; --i) {
if (s[i] == ' ')
return startIdx - i;
}

return startIdx + 1;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode string