(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
}
相关推荐
TAN-90°-1 分钟前
Deep Learning for Computer Vision——Image Classification with Linear Classifiers
python·深度学习·算法·计算机视觉·线性回归
10mAh4 分钟前
【Linux】error while loading shared libraries 怎么解决?——ldd、RPATH 与动态链接排错
java·linux·前端
狂师4 分钟前
用AI做自动化测试,哪些是真不行,哪些是你不会用?
人工智能·面试·测试
深念Y9 分钟前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
阿pin19 分钟前
Java随笔-红黑树
java·python·算法·红黑树
MC皮蛋侠客20 分钟前
TDengine C++ 系列(5):C/C++ 连接器——连接管理与查询 API
c语言·c++·tdengine
Hi李耶20 分钟前
【LeetCode】17.电话号码的字母组合
算法·leetcode·职场和发展
MC皮蛋侠客24 分钟前
TDengine C++ 系列(8):流式计算与最新值缓存——库内实时处理
c++·缓存·tdengine
我命由我1234526 分钟前
Jetpack Compose - @Preview 注解
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
为美好的生活献上中指30 分钟前
Spring AI Advisor 深度实战:构建严谨的 AI Agent 拦截链
java·人工智能·spring·advisor·aiagent