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
.
Subscribe to see which companies asked this question
思路分析:
此题较容易,有两个注意点。
1、int len = strlen(str); VS会报 不能将参数 1 从“std::string”转换为“const char *”解决 错。解决方法:std::string类有一个方法叫c_str()就是取出string对象的字符串,实现到char *的转换,调用方法:strlen(str.c_str());
2、注意以空格结尾的字符串。
class Solution {
public:
int lengthOfLastWord(string s)
{
int sz = strlen(s.c_str());
if (sz == 0)
{
return 0;
}
int res = 0;
for (int i = sz - 1; i >= 0; i--)
{
if (s[i] != ' ')
{
res++;
}
//不能 else break 如果结尾时以空格开头的情况
else
{
if (res > 0)
{
return res;
}
}
}
return res;
}
};