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
.
这个题目给出一个字符串,包含的字符只有空格和大小写字母, 求最后一个单词的长度。 思路是从尾开始求,如果遇到空格就跳过,遇到不是空格就吧长度+1,再遇到空格就break,蛮简单。
class Solution {
public:
int lengthOfLastWord(const char *s) {
if (!s) return 0;
int len = strlen(s), last_len = 0;
bool isLast = false;
for (int i = len - 1; i >= 0; --i)
{
if (!isLast && s[i] == ' ')
continue;
if (isLast && s[i] == ' ')
break;
isLast = true;
++last_len;
}
return last_len;
}
};