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
.
Have you met this question in a real interview?
Yes
No
思路:这一题曾经艾力跟我出过,当时我想的好简单然后好蠢,还打算从前往后进行计算。。后来虽然知道从后往前效率更高,但是没有考虑各种输入的情况,比如说字符串是“a“,” “等,今天又做了一遍,WA了n久,终于过了。。。
附上代码:
class Solution {
public:
int lengthOfLastWord(string s) {
int len=s.length();
if(len==0) return 0;
int num=0,j;
for(int i=len-1;i>=0;i--)
{
num=0;
if(isalpha(s[i]))
{
for(j=i;j>=0;j--)
{
if(s[j]!=' ')
num++;
if(s[j]==' ')
break;
}
return num;
}
else
continue;
}
}
};