[LeetCode] 58. Length of Last Word 求末尾单词的长度

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.

Example:

Input: "Hello World"
Output: 5

class Solution {
public:
int lengthOfLastWord(string s) {
int left = 0, right = (int)s.size() - 1, res = 0;
while (s[left] == ' ') ++left;
while (s[right] == ' ') --right;
for (int i = left; i <= right; ++i) {
if (s[i] == ' ') res = 0;
else ++res;
}
return res;
}
};

class Solution {
public:
int lengthOfLastWord(string s) {
int res = 0;
for (int i = 0; i < s.size(); ++i) {
if (s[i] != ' ') {
if (i != 0 && s[i - 1] == ' ') res = 1;
else ++res;
}
}
return res;
}
};

class Solution {
public:
int lengthOfLastWord(string s) {
int right = s.size() - 1, res = 0;
while (right >= 0 && s[right] == ' ') --right;
while (right >= 0 && s[right] != ' ' ) {
--right;
++res;
}
return res;
}
};

Github 同步地址：

https://github.com/grandyang/leetcode/issues/58

https://leetcode.com/problems/length-of-last-word/

https://leetcode.com/problems/length-of-last-word/discuss/21927/My-3-line-0-ms-java-solution

https://leetcode.com/problems/length-of-last-word/discuss/21892/7-lines-4ms-C%2B%2B-Solution

LeetCode All in One 题目讲解汇总(持续更新中...)

 微信打赏 Venmo 打赏
posted @ 2014-11-10 03:42  Grandyang  阅读(9468)  评论(0编辑  收藏  举报