58. Length of Last Word

本文介绍了一种通过从字符串尾部开始遍历的方法来找出最后一个单词长度的技术。此方法适用于包含字母和空格的字符串,能够有效处理末尾多余空格的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

For example, 
Given s = "Hello World",
return 5.


Seen this question in a real interview before?    
Yes
 

最后一句话的长度
分析:
给定一个字符串s由大小写字母和空白符组成,返回最后一个单词的长度(如果最后一个词不存在,则返回0)
提示:一个单词背定义为仅有非空个字符组成的字符序列

这道题其实不难,唯一的小陷阱就是最后括号里面的提示,表明可能又很多的空格结尾,这样的话,我们只能返回0,所以,我们可以换个思路,从字符串尾部开始,排除空格,然后再到空格结束,这样,可以找出最后一个单词的长度。
class Solution {
public:
    int lengthOfLastWord(string s) {
        int len = s.length();
		int count = 0;
		while(s[len-1]==' ')
			len--;
		
		for(int i=len-1;i>=0;i--)
		{
			if(s[i]==' ')
				break;
			count++;
		}
		return count;
    }
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值