1.题目
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/length-of-last-word
2.解题思路
计数的话需要先位到字符串的尾部,然后开始由后向前开始计数;
但是尾部可能有空格,所以先将空格过滤掉后,在进行计数。
3.代码
class Solution {
public:
int lengthOfLastWord(string s) {
int n=s.length();//字符串长度
int count=0; //最后返回的长度
int i=n-1;
//首先定位到最后一个单词的尾部
while(s[i]==' '){
i--;
}
//开始计数:下标不越界并且不是空格字符的话单词长度计数+1
for(i;i>=0 and s[i]!=' ';i--){
count++;
}
return count;
}
};
class Solution(object):
def lengthOfLastWord(self, s):
"""
:type s: str
:rtype: int
"""
n=len(s)
count=0
index=n-1
while s[index]==' ':
index-=1
while index>=0 and s[index]!=' ':
count+=1
index-=1
return count;