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

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


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

直接从最后面开始遍历,找到第一个不为空格的字符s[i]!=' ',然后再从j=i-1开始找到第一个为空格的字符s[j]==' ',或 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
}
相关推荐
楼田莉子10 分钟前
C++学习:C++类型转换专栏
开发语言·c++·学习
龙茶清欢13 分钟前
1、Lombok入门与环境配置:理解Lombok作用、配置IDE与构建工具
java·spring boot·spring cloud
前端Hardy17 分钟前
轻松搞定JavaScript数组方法,面试被问直接答!
前端·javascript·面试
龙茶清欢30 分钟前
2、Nginx 与 Spring Cloud Gateway 详细对比:定位、场景与分工
java·运维·spring boot·nginx·spring cloud·gateway
Eoch7732 分钟前
HashMap夺命十连问,你能撑到第几轮?
java·后端
云动雨颤36 分钟前
程序出错瞎找?教你写“会说话”的错误日志,秒定位原因
java·运维·php
魔芋红茶39 分钟前
RuoYi 学习笔记 3:二次开发
java·笔记·学习
杨杨杨大侠42 分钟前
Atlas Mapper 教程系列 (8/10):性能优化与最佳实践
java·spring boot·spring·性能优化·架构·系统架构
yinke小琪1 小时前
线程池七宗罪:你以为的优化其实是在埋雷
java·后端·面试
楼田莉子1 小时前
C++IO流学习
开发语言·c++·windows·学习·visual studio