题目如下:
看到这个题目的一瞬间就想到了Python中字符串处理的split()方法,它可以以空格为基准,拆分字符串,然后len()一下就好了。
class Solution:
def lengthOfLastWord(self, s: str) -> int:
return len(s.split()[-1])
Python果然是个好帮手。
c语言方案如下:
#include <string.h> //要求字符串长度,需要头文件
int lengthOfLastWord(char * s){
int count=0,len=strlen(s);
if(s[len-1]!=' ') //分类讨论:如果末尾没有空格,就遍历一遍字符数组
{
for(int i=0;i<len;i++) //因为末尾没有空格,所以最后一个单词的count不会清零,否则清零
{
if(s[i]==' ') count=0;
else count++;
}
}
else //如果末尾有空格,就一直while直到找到了字母
{
while(s[len-1]==' ') len--; //就多了这个步骤,用for语句也能实现
//for(;s[len-1]!=' ';len--);
for(int i=0;i<len;i++)
{
if(s[i]==' ') count=0;
else count++;
}
}
return count;
}
第一次刷题可以做到两次都直接通过,快乐。