(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)

题目:58. 最后一个单词的长度


思路:字符串处理,时间复杂度0(n)。

直接从最后面开始遍历,找到第一个不为空格的字符si!=' ',然后再从j=i-1开始找到第一个为空格的字符sj==' ',或 j == -1时停下。i - j 即答案

C++版本:

cpp 复制代码
class Solution {
public:
    int lengthOfLastWord(string s) {
        int i=s.size()-1;
        while(s[i]==' ') i--;
        int j=i-1;
        while(j>=0&&s[j]!=' ') j--;
        return i-j;
    }
};

JAVA版本:

java 复制代码
class Solution {
    public int lengthOfLastWord(String s) {
        int i=s.length()-1;
        char[] c=s.toCharArray();
        while(c[i]==' ') i--;
        int j=i-1;
        while(j>=0&&c[j]!=' ') j--;
        return i-j;
    }
}

Go版本:

go 复制代码
func lengthOfLastWord(s string) int {
    i:=len(s)-1
    for s[i]==' ' {
        i--
    }
    j:=i-1
    for j>=0&&s[j]!=' ' {
        j--
    }
    return i-j
}
相关推荐
西瓜太郎4991 小时前
从请求到上游:实现一条可观测的多模型调用链
go
用户3126874877202 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang3 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing3 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
YIAN3 小时前
Docker + Nginx 核心原理扫盲:从环境隔离到反向代理,运维面试必考点
后端·docker·面试
newerp3 小时前
Golang 切片底层结构
后端·程序员·go
吃饱了得干活3 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
欧特克_Glodon4 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
蒸蒸yyyyzwd4 小时前
cpp 选手秋招学习笔记 day21
c++·面试·八股
alphaTao4 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode