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
.
class Solution {
public:
int lengthOfLastWord(string s) {
int len=s.size();
if(len==0)
return 0;
int res=0;
int i=0;
while(i!=len)
{
if(s[i]!=' ')
{
int curlength=0;
while(s[i]!='\0'&&s[i]!=' ')
{
curlength++;
i++;
}
res=curlength;
}
else
i++;
}
return res;
}
};
使用以上的算法可以解决求字符串内单词的多种变形,下边的算法,从后边开始遍历,更加简单
class Solution {
public:
int lengthOfLastWord(string s) {
if(s.empty()==1)
return 0;
int last=s.size()-1,first=0;
while(s[last]==' '&&last>=0)
last--;
first=last;
while(s[first]!=' '&&first>=0)
first--;
return last-first;
}
};