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;}
}

相关内容

热门资讯

科普实测“随意玩为什么老是一直... 您好:随意玩这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在随意玩这款...
科普实测“八闽状元郎透视辅助软... 您好:八闽状元郎这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在八闽状...
今日重大通报“789大菠萝透视... 您好:789大菠萝这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在789...
重大通报“风风跑胡子到底有挂是... 您好:风风跑胡子这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在风风跑...
科普实测“新甘孜到底有挂是真的... 您好:新甘孜这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在新甘孜这款...