求:spa
給定一個僅包含大小寫字母和空格 ' ' 的字符串 s,返回其最後一個單詞的長度。若是字符串從左向右滾動顯示,那麼最後一個單詞就是最後出現的單詞。字符串
若是不存在最後一個單詞,請返回 0 。ast
說明:一個單詞是指僅由字母組成、不包含任何空格字符的 最大子字符串。搜索
示例:di
輸入: "Hello World"
輸出: 5while
解:co
從前日後搜索:字符
int
lengthOfLastWord(
char
* s){
int
lastWordLen =
0
;
char
*p;
bool
passSpace =
false
;
for
(p=s;*p!=
'
\
0
'
;p++){
if
(isalpha(*p)){
if
(passSpace){
lastWordLen =
0
;
passSpace =
false
;
}
lastWordLen++;
}
else
if
(*p ==
' '
){
passSpace =
true
;
}
}
return
lastWordLen;
}
從後往前搜索:
int
lengthOfLastWord(
char
* s){
int
len = strlen(s);
if
(!len)
return
0
;
int
i = len-
1
;
int
count =
0
;
while
(i>=
0
&& s[i]==
' '
) --i;
for
(;i>=
0
;i--){
if
(isalpha(s[i])) count++;
else
break
;
}
return
count;
}