leetcode算法58.最后一个单词的长度

简介: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

一、leetcode算法



1、 最后一个单词的长度


1.1、题目


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


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


示例 1:


输入:s = “Hello World”

输出:5

示例 2:


输入:s = " fly me to the moon "

输出:4

示例 3:


输入:s = “luffy is still joyboy”

输出:6


1.2、思路


思路一:本题可以使用反向遍历字符串,从最后一个不为‘ ’的位置开始向前查找,直到查找到‘ ’的位置就是最后一个单词的长度。


步骤一:首先获取下标长度(字符串长度减一),然后反向遍历每一个字符,首先把‘ ’字符去掉。


步骤二:去掉最后的‘ ’字符后,就定义一个单词长度变量用于存放单词长度,然后从后往前遍历到‘ ’的地方就是最后一个单词的长度。


1.3、答案


12.png


class Solution {
    public int lengthOfLastWord(String s) {
        int index = s.length() - 1;
        while(s.charAt(index) == ' '){
            index--;
        }
        int wordLength = 0;
        while(index >= 0 && s.charAt(index) != ' '){
            wordLength++;
            index--;
        }
        return wordLength;
    }
}


相关文章
|
6月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
算法
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
196 0
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
391 4
|
算法
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
249 2
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
346 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
LeetCode第58题最后一个单词的长度
LeetCode第58题"最后一个单词的长度"的解题方法,通过从字符串末尾向前遍历并计数非空格字符,直接得出最后一个单词的长度。
LeetCode第58题最后一个单词的长度
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
253 2
Leetcode(最后一个单词长度)
这篇文章介绍了两种解决LeetCode第58题的方法,即计算给定字符串中最后一个单词的长度,方法包括翻转字符串和逆向遍历统计。
133 0
【LeetCode 20】151.反转字符串里的单词
【LeetCode 20】151.反转字符串里的单词
143 0
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
228 1

热门文章

最新文章