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
.
【分析】本题不难,但是要注意的是,注意s=" a b "这种情况,最后是空格的先全部丢掉,不做为单词分隔的标志但也不算做字符串长度。
从后遍历单词,遇到空格退出
代码如下:
int lengthOfLastWord(char* s)
{
if(!s)
return 0;
int sLen = strlen(s);
int i = 0;
int lengthOfLastWordCount = 0;
while(s[sLen-1]==' ')
sLen--;
for(i = sLen-1;i>=0;i--) {
if(s[i]=='') {
break;
}
lengthOfLastWordCount++;
}
return lengthOfLastWordCount;
}