Leetcode 58 -- 最后一个单词的长度

本文解析了LeetCode上的第58题“最后一个单词的长度”。介绍了如何通过从字符串尾部开始遍历的方式找到最后一个单词并计算其长度,并提供了详细的C++实现代码。

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

题目链接:Leetcode 58

描述一下题目:

给定一个只有大小写字母和空格的字符串,计算最后一个单词的长度,如果不存在单词,则返回0.


解题思路:

从字符串尾端开始遍历字符串呀~~~设置一个标志位和计数器,当遇到第一个非空格时,标志位置true,同时计数器++直到遇到空格。


代码如下:(C++)

/*******************************************************************************
Copyright © 2018-20xx Qiao Chuncheng, All Rights Reserved.
File name:		058[最后一个单词的长度].cpp
Author:			Qiao Chuncheng
Version:		v1.0
Date:			2018-04-17
*******************************************************************************/

class Solution {
public:
	int lengthOfLastWord(string s) {
		bool flag = false;//利用flag来确定是经过最后一个单词
		int cnt = 0;
		if (s.empty())
			return 0;
		for (int i = s.length() - 1; i >= 0; i--)//求最后一个单词的长度,从尾部开始扫描
		{
			if (flag == false && s[i] == ' ')
				continue;

			if (s[i] != ' ')
			{
				cnt++;
				flag = true;
			}
			else
			{
				break;
			}
		}
		return cnt;
	}
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值