力扣经典150题第十九题:最后一个单词的长度

简介: 力扣经典150题第十九题:最后一个单词的长度

力扣经典150题第十九题:最后一个单词的长度

1. 题目描述

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

2. 解题思路

从字符串末尾开始向前遍历,找到最后一个单词的起始位置和结束位置,然后计算其长度。

3. 解题步骤

  1. 去除字符串末尾的空格,防止计算错误。
  2. 从字符串末尾开始向前遍历,直到找到第一个非空格字符,确定最后一个单词的结束位置。
  3. 继续向前遍历,直到找到第一个空格字符或到字符串的开头,确定最后一个单词的起始位置。
  4. 根据起始位置和结束位置计算最后一个单词的长度。

4. 代码实现

class Solution {
    public int lengthOfLastWord(String s) {
        // Trim trailing spaces
        s = s.trim();
        int length = 0;
        int i = s.length() - 1;
        
        // Find the end of the last word
        while (i >= 0 && s.charAt(i) != ' ') {
            length++;
            i--;
        }
        
        return length;
    }
}

5. 时间复杂度分析

  • 该算法的时间复杂度为 O(n),其中 n 是字符串 s 的长度。需要一次字符串的遍历来计算最后一个单词的长度。

6. 应用和扩展

  • 该算法可以用于计算字符串中最后一个单词的长度,通过从字符串末尾向前遍历来确定单词的起始和结束位置。
  • 可以应用于处理字符串相关的问题,特别是处理单词和空格分隔的情况。

7. 总结

本文介绍了如何计算字符串中最后一个单词的长度,通过从字符串末尾向前遍历来确定单词的起始和结束位置,然后计算单词的长度。

8. 参考资料

相关文章
|
18天前
|
算法
【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)
【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)
|
22天前
|
存储 SQL 算法
LeetCode题58: 5种算法实现最后一个单词的长度【python】
LeetCode题58: 5种算法实现最后一个单词的长度【python】
|
3天前
|
算法 测试技术 索引
力扣经典150题第三十二题:串联所有单词的子串
力扣经典150题第三十二题:串联所有单词的子串
5 0
|
3天前
|
算法
力扣经典150题第二十一题:反转字符串中的单词
力扣经典150题第二十一题:反转字符串中的单词
6 0
|
3天前
|
算法
力扣经典150题第十八题:整数转罗马数字
力扣经典150题第十八题:整数转罗马数字
5 0
|
3天前
|
存储 算法 测试技术
力扣经典150题第十七题:罗马数字转整数
力扣经典150题第十七题:罗马数字转整数
5 0
|
3天前
|
算法 图计算
力扣经典150题第十六题:接雨水
力扣经典150题第十六题:接雨水
5 0
|
3天前
|
算法
力扣经典150题第十五题:分发糖果
力扣经典150题第十五题:分发糖果
7 0
|
2月前
|
存储 C语言 容器
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(下)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
27 1
|
2月前
|
存储 C语言 容器
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(中)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
28 1