LeetCode 58. 最后一个单词的长度

目录结构

1.题目

2.题解

2.1java split()函数

2.2字符串遍历


1.题目

给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。

如果不存在最后一个单词,请返回 0 。

说明:

一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串

示例:

输入: "Hello World"
输出: 5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.题解

2.1java split()函数

使用split()函数按" "将字符串拆分后,直接返回最后一个字符串的长度。

public class Solution58 {
    public int lengthOfLastWord(String s) {
        String[] strs = s.split(" ");
        if (strs.length == 0) {
            return 0;
        } else {
            return strs[strs.length - 1].length();
        }
    }
}

2.2字符串遍历

先从后过滤掉空格找到单词尾部,再从尾部向前遍历,直至单词头部,最后两者相减为单词的长度。

public class Solution58 {
    public int lengthOfLastWord(String s) {
        if (s.length() == 0) {
            return 0;
        }
        int count = 0;
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) == ' ' && count != 0) {
                return count;
            } else if (s.charAt(i) == ' ') {
                count = 0;
            } else {
                count++;
            }
        }
        return count;
    }
}
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

热门文章

暂无图片
编程学习 ·

JAVA中的自定义异常

JAVA中的自定义异常SUN提供的内置的异常肯定是不够用的,在实际开发中我们需要自己自定义一些与业务相关的异常java中如何自定义异常: 第一步:编写一个类继承 Exception 或者 RuntimeException 设定为编译时异常就继承Exception 设定为运行时异常就继承RuntimeException 第二…
暂无图片
编程学习 ·

微信小程序--修改switch组件的大小

修改switch组件的大小 小程序中switch组件的大小往往和实际项目中的大小有些出入,但是发现文档中并没有修改大小的方法,但是可以根据自己的实际情况进行颜色设置。 直接上代码: <switch checked>正常开关</switch> <switch checked style="transform:sc…
暂无图片
编程学习 ·

【数据结构】数据结构三要素

数据结构三要素 数据结构的三要素包括数据逻辑结构、数据存储结构和数据的运算。 数据逻辑结构 数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的具体存储形式无关,是独立于计算机的。数据逻辑结构通常分为线性结构和非线性结构。典型的数据结构…
暂无图片
编程学习 ·

Bazel responsitory_rule 创建一个 rule

bazel respository_rule 主要功能是创建一个workspace 空间。对于package 内部的BUILD.tpl文件target 可以使用 responsity_ctx.file("//package") 创建 BUILD文件,或者repository_ctx.template(“BUILD”, build_tpl, {})对BUILD文件进行修改,然后通过@< name&…
暂无图片
编程学习 ·

解析!JNPF快速开发平台是什么,可以开发什么软件系统

最近,一款叫JNPF的软件在网上的关注度似乎一直很火热,很多业内人士都在使用或在讨论这个JNPF软件。那JNPF到底是一款什么样的软件,它能够做什么?其实,与其说JNPF是一款软件,更确切的说,它是一个软件快速开发平台。它有很多强大的功能特点,它专注于企事业单位的商务办公…
暂无图片
编程学习 ·

AssemblyInfo.cs文件参数具体讲解

AssemblyInfo.cs文件参数具体讲解 原文地址:https://www.cnblogs.com/scy251147/archive/2010/10/23/1859576.html 在asp.net中有一个配置文件AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数,下面是默认的AssemblyInfo.cs文件的内容具体介绍 //是否…
暂无图片
编程学习 ·

SpringBoot

文章目录springboot的产生背景?spring boot pom依赖jar包的==@SpringBootApplication==Spring Boot 启动注解思维图**@SpringBootConfiguration**:**@EnableAutoConfiguration**:快速创建SpringBoot工程配置文件YML语法配置文件值获取@PropertySource&@ImportResource配置…
暂无图片
编程学习 ·

Java new关键词的作用

文章目录new关键词的作用成员变量"字符串" new关键词的作用Person person = new Person();右边的new Person: 是以Person类为模板在堆中实例化一个对象。 右边的(): 意味着在对象实例化后,调用Person的构造器,对其初始化。 左边的Person person: 创建一个Person类…
暂无图片
编程学习 ·

extern随笔

extern的用法总结函数声明是可有可无的,因为函数不加修饰符默认是extern的; 全局变量在其他文件中使用时,extern关键词是必须的,如果变量在其他文件中没有extern且没有显示的初始化,则会被当成变量的定义。局部变量是不需要extern关键字描述的,而且局部变量在程序运行时才…
暂无图片
编程学习 ·

DataGrip链接mysql 数据库遇到的问题和解决方式

刚开始链接mysql 的时候没有连接成功,报错如上图所示,解决过程如下1、查看mysql 有没有起来2、如果没有起来,就3、起来之后,再次输入docker ps4、如果不行要重启虚拟机5、虚拟机重启后启动DOCKER6、启动MySQL7、
暂无图片
编程学习 ·

2007

All you need to do is upload the files on to your web space.
暂无图片
编程学习 ·

java学习笔记6

1,找出最大元素的最小下标值 double max = myList[0]; int indexofMax = 0; for (int i=0;i<myList.length;i++){if(myList[i] > max){max = myList[i];indexofMax = i;} }用一次循环就找到了最大值,每次循环都将得到的较大数,在下一次循环中与新加入的数比较,在循环结…
暂无图片
编程学习 ·

杰里之难点播歌曲概率出现卡顿现象篇

其实本身对于杰里的IC性能不是很稳定,客观的评价。 对于TWS经常性的会遇到播歌曲卡顿: 小编总结了以下几个方面: 1 硬件天线首先要调试OK,保证单耳捂住不卡,过8852测试仪器可以通过。 2 软件晶振在合理有效范围内 3 软件主频提升至最高主频 4 提升flash的供电电压 5 保证软…
暂无图片
编程学习 ·

叩丁狼开发工程师:SSR服务架构特点分析

叩丁狼开发工程师:SSR服务架构特点分析SSR服务架构是我们在搭建一些开放性平台的时候需要添加的一项功能应用,而今天成都软件开发工程师就通过案例分析来了解一下,关于SSR服务架构的特点都有哪些内容?1、抵抗单页面大流量 要抵抗单页面的大流量,先我们自然而然会想到会使用…
暂无图片
编程学习 ·

springboot/mybatis之多数据源配置

注:数据源切换不可在事务内部、同一事务中数据源确定、不可切换!亦可说数据源切换必须在事务处理之前!一、功能介绍在实际的开发中,同一个项目中使用多个数据源是很常见的场景。最近在项目中正好使用到多数据源、搭建完成后记录一下!可供参考。二、配置文件application.ym…
暂无图片
编程学习 ·

国际机器人赛事RoboCup@Home Education2020线上比赛成功举办

2020年6月27-28日,国际权威机器人赛事RoboCup@Home Education于线上举行,此赛事是RoboCup@Home的一项教育计划,旨在鼓励学校参与到以人工智能为中心的服务机器人开发,该比赛每年与RoboCup@Home同时进行,参考同一套比赛规则和评分标准,同时加入大量的教学培训和技术交流,…
暂无图片
编程学习 ·

Java基础:Collections是针对Collection集合类的一个工具类

Collection后面加个s是怎么个情况?Collection是集合类的上级接口,继承与他有关的接口主要有List和Set; Collections是针对Collection集合类的一个工具类,不能被实例化,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作。Collections常用方法如下: public…
暂无图片
编程学习 ·

如何阻止IOS触摸滚动效果--“橡皮筋效果”?

浏览器在移动端有一个默认触摸滚动的效果,下拉时自带橡皮筋的效果。在开发的时候我们经常需要阻止此效果。 解决方案: document.body.addEventListener(touchmove, function(e) {if (e._isScroller) return;e.preventDefault();//阻止默认的处理方式(阻止下拉滑动的效果)}, {…
暂无图片
编程学习 ·

P3907 圈的异或(DFS&前缀和)

P3907 圈的异或(DFS&前缀和) 传送门 思路:dfs+dfs+dfs+前缀和。 用一个数组vis[]vis[]vis[]标记结点是否访问过,若uuu的子结点vvv已经被访问过且不是父亲说明形成了一个环,我们还需要用一个pre[]pre[]pre[]数组记录前缀异或和,这里的前缀是相对dfsdfsdfs序说的,且根据…