(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 分钟前
【VTK手册027】VTK 颜色连续映射:vtkColorTransferFunction 深度解析与实战指南
c++·图像处理·算法·vtk·图形渲染
爱睡觉的王宇昊4 分钟前
单体架构详细解析:从概念到实践--购物网站搭建
java·spring boot·架构·团队开发·个人开发·敏捷流程
Bruce_kaizy6 分钟前
c++单调数据结构————单调栈,单调队列
开发语言·数据结构·c++
默凉10 分钟前
win 制作vs离线安装包
c++
不思念一个荒废的名字11 分钟前
【黑马JavaWeb+AI知识梳理】Web后端开发04-登录认证
java·后端
B_lack02613 分钟前
西门子PLC结构化编程_线性插值算法功能块
算法·pid·西门子plc·博途·线性插值·开环控制
fufu031114 分钟前
Linux环境下的C语言编程(四十三)
linux·c语言·算法
java1234_小锋20 分钟前
Redis到底支不支持事务啊?
java·数据库·redis
dragoooon3422 分钟前
[C++——lesson32.数据结构进阶——「初识哈希」]
数据结构·c++·哈希算法
猿饵块26 分钟前
git--windows安装和配置
c++