day 3(2024/3/21)
题目:58.最后一个单词的长度
难度:简单
代码:
python
class Solution:
def lengthOfLastWord(self, s: str) -> int:
temp = list(s.strip().split(" "))
return len(temp[-1])
python的方法很简单,就是通过strip
函数将字符串首尾的空格都去除后,用split
函数将字符串通过空格分隔开,取生成的list中最后一个,就是我们需要的最后一个单词,然后用len
函数得到单词的长度就可以了.
C语言
int lengthOfLastWord(char* s) {
int length = strlen(s);
int number=0;
for(int i=length-1;i>=0;i--){
if(s[i]!=' '){
number++;
}
if(s[i]==' '&&number>0){
break;
}
}
return number;
}
C语言的方法说起来也很简单,就是从字符串最后往前面遍历,从遇到第一个非空格字符,到再次遇到空格字符的长度,就是我们所要求的最后一个单词的长度.
其实c语言中有一个函数strrchr
可以用来求最后一个出现的特定字符,但是由于当最后是空格的时候会出错,因此需要首先去除字符串尾部的空格,但是这个步骤没有特定的函数. 就不再赘述了.