Last Word Length

Last Word Length

题目描述:

给定一个字符串,找到字符串中最后一个单词的长度。

例子:

具体描述见LeetCode58

解题思路:

本题主要的难点在于各种边界条件的判断。首先是字符串是空的情况;其次字符串结尾是空格的情况;找到非空格字符后我们需要判断是不是已经到达字符的首位;最后是找到结尾单词的起始位置。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
int lengthOfLastWord(string s) {
if (s.size() == 0 || s == " ") return 0;
//字符串为空的情况
int end = s.size() - 1;
while(end >= 0 && s[end] == ' ') end--;
//先找到结尾开始的非空字符
if (end == -1) return 0;
//如果整个字符为空返回0
int left = end;
while(end >= 0 &&s[end] != ' ') end--;
//找到单词的另外一侧
return left - end;
}
};