(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
}
相关推荐
丁劲犇1 分钟前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse
木头没有瓜15 分钟前
idea离线安装插件
java·ide·intellij-idea
llwszx25 分钟前
Spring中DelayQueue深度解析:从原理到实战(附结构图解析)
java·后端·spring·delayqueue·延迟任务
牛客企业服务38 分钟前
2025年AI面试推荐榜单,数字化招聘转型优选
人工智能·python·算法·面试·职场和发展·金融·求职招聘
述雾学java39 分钟前
Spring Cloud Feign 整合 Sentinel 实现服务降级与熔断保护
java·spring cloud·sentinel
保持学习ing40 分钟前
苍穹外卖day3--公共字段填充+新增菜品
java·阿里云·实战·springboot·前后端·外卖项目·阿里云文件存储
charlie1145141911 小时前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
呜喵王阿尔萨斯1 小时前
编程中的英语
c语言·c++
77qqqiqi1 小时前
正则表达式
java·后端·正则表达式
糖葫芦君1 小时前
Policy Gradient【强化学习的数学原理】
算法