2024-11-11 23:19阅读: 6评论: 0推荐: 0

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

给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为 5。

示例 2:

输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为 4。

示例 3:

输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为 6 的“joyboy”。

提示:

  • 1 <= s.length <= 104
  • s 仅有英文字母和空格 ' ' 组成
  • s 中至少存在一个单词

Go实现:

func lengthOfLastWord(s string) int {

	// 获取指定字符串s长度
	n := len(s)

	// 定义要返回的结果,且初始长度为0
	lastWordLength := 0

	// 从后往前进行遍历
	for i := n - 1; i >= 0; i-- {
		// 第一次遇到空格字符则跳过,遇到非空格字符则开始计算长度,等再次遇到空格字符时,如果结果长度大于0,则直接返回计算结果
		if s[i] != ' ' {
			lastWordLength++
		} else if lastWordLength > 0 {
			return lastWordLength
		}
	}

	// 结束循环,直接返回最后单词长度,可能是0,也可能是唯一单词长度
	return lastWordLength
}

本文作者:505donkey

本文链接:https://www.cnblogs.com/505donkey/p/18514771

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   505donkey  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起