leetCode:58. 最后一个单词的长度
创始人
2025-05-30 23:14:51

给你一个字符串 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 中至少存在一个单词

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法一:当前位的前一位是空格,则长度清零

class Solution {public int lengthOfLastWord(String s) {int res = 0;int length = s.length();for (int i = 0; i < length - 1; i++) {if (s.charAt(i) == ' ' && s.charAt(i+1) != ' ') {res = 0;}if (s.charAt(i) != ' ') {res ++;}}if (s.charAt(length - 1) != ' ') {if (res == 0) {return 1;} else {res++;}}return res;}
}

方法二:从后往前遍历,遇到不为空格的字符且就+1,遇到空格就停止,记录当前位置;若第一个字符不为空格,若当前位置是第二个字符,则结果+1,若总长度为1,则返回1

class Solution {public int lengthOfLastWord(String s) {int res = 0;int length = s.length();int index = length - 1;for (int i = length - 1; i > 0; i--) {if (s.charAt(i) != ' ') {res ++;}if (res != 0 && s.charAt(i) == ' ') {break;}index = i;}if (s.charAt(0) != ' ') {if (index == 1) {res++;} else if (length == 1) {res = 1;}}return res;}
}

相关内容

热门资讯

今日重大通报“乐清大玩家开挂专... 您好:乐清大玩家这款游戏可以开挂,确实是有挂的,需要了解加客服微信【6670747】很多玩家在这款游...
〖实测分享〗“蜀山四川麻将究竟... 【无需打开直接搜索微信【7482525】操作使用教程:1.亲,实际上蜀山四川麻将是可以开挂的,确实有...
玩家实测“旺旺福建麻将可以开挂... 您好:旺旺福建麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【64550492】,很多玩家在凑一...
「重大发现」福建麻将.可以开挂... 您好:福建麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9951342】很多玩家在这款游戏...
重磅来袭!富豪麻将怎么开挂!2... 重磅来袭!富豪麻将怎么开挂!2025火爆一款亲.富豪麻将这款游戏是可以开挂的,确实是有挂的,通过添加...