题目描述
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.
题目大意:给定一个字符串s,s仅有英文字母与空格组成,要求返回s中最后一个单词的长度。如果没有最后一个单词,则返回0
样例
Example:
Input: “Hello World”
Output: 5
python解法
class Solution:
def lengthOfLastWord(self, s: str) -> int:
return len(s.strip().split()[-1]) if len(s.strip()) else 0
Runtime: 32 ms, faster than 89.36% of Python3 online submissions for Length of Last Word.
Memory Usage: 13.7 MB, less than 5.16% of Python3 online submissions for Length of Last Word.
题后反思:无
C语言解法
int lengthOfLastWord(char * s){
int len = strlen(s);
if(!len)
{
return 0;
}
int i = len-1;
while(i>=0 && s[i] == ' ')
i--;
int length = 0;
for(;i>=0;i--)
{
if (s[i]!=' ')
{
length ++;
}
else
break;
}
return length;
}
Runtime: 0 ms, faster than 100.00% of C online submissions for Length of Last Word.
Memory Usage: 7.1 MB, less than 42.10% of C online submissions for Length of Last Word.
题后反思:
- 要考虑到s的两端是空格的情况,至少要将最后的空格去掉,例如"a "
文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步