博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-最后一个单词的长度
阅读量:6363 次
发布时间:2019-06-23

本文共 1706 字,大约阅读时间需要 5 分钟。

<?xml version="1.0" encoding="utf-8"?> LeetCode-最后一个单词的长度

LeetCode-最后一个单词的长度

Table of Contents

1 Easy-最后一个单词的长度

1.1 题目描述

给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。

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

说明:一个单词是指由字母组成,但不包含任何空格的字符串。

1.2 示例:

输入: "Hello World"

输出: 5

2 自己的解答

2.1 思路

  1. 做这题时候有两个思路
    • 第一个思路是: 将字符串以" "分隔符切分为多个字符串,然后取出最后一个字符串的长度即可
    • 第二个思路是: 从后往前遍历字符串s,先去除掉字符串尾部的空格字符,然后在计算最后一个字符串的长度.
  2. 第一个思路实现方法极其简单,但是会浪费空间,而且实现的效率并不高,浪费了空间节省不了时间.
  3. 第二个思路用时比较短,速度更快.

2.2 代码

2.2.1 第一个思路代码

package algorithm.easy;public class LengthOfLastWord {
public static int solution(String s) {
String strs = s.split(" "); return strs[strs.length - 1].length(); } public static void main(String[] args) {
System.out.println(solution(" day")); }}

2.2.2 第二个思路代码

package algorithm.easy;public class LengthOfLastWord {
public static int solution(String s) {
int len = 0; int tail = s.length() - 1; if (s == null || s.length() < 0) {
return 0; } // 先去除尾部的空格,出现非空格字符串,跳出循环 for (int i = tail; i >=0 ; i--) {
if (s.charAt(i) == ' ') {
tail--; } else {
break; } } for (int i = tail; i >=0; i--) {
if (s.charAt(i) == ' ') {
return len; } else {
len++; } } return len; } public static void main(String[] args) {
System.out.println(solution(" day")); }}

Date: 2018-11-06 15:09

Author: devinkin

Created: 2018-11-06 二 15:27

转载于:https://www.cnblogs.com/devinkin/p/9915465.html

你可能感兴趣的文章
常见的Python语言IOError错误原因?
查看>>
快速搭建ELK日志分析系统
查看>>
利用linux虚拟机实现路由转发功能
查看>>
HTTP协议中的Accept与Content-Type的区别
查看>>
bash: ./a.sh: /bin/bash^M: bad interpreter
查看>>
Java的新项目学成在线笔记-day3(三)
查看>>
JS - 浅拷贝与深拷贝的理解以及简单实现方法
查看>>
go 的介绍与安装
查看>>
gitlab-ce平台调试
查看>>
重新理解4PS营销理论对市场的指导思路
查看>>
ssh服务,以及通过秘钥登录,实验:通过秘钥免密码登录
查看>>
使用云计算进行灾难恢复需了解这些关键术语
查看>>
shell判断文件是否存在
查看>>
好程序员web前端培训分享HTML基本结构和基本语法
查看>>
好程序员web前端分享前端的开发规范
查看>>
外地客户可以办理义乌个体工商无限结汇款吗?
查看>>
怎么分辨linux系统是虚拟机还是物理机
查看>>
织梦cms截取字段的函数
查看>>
vim打开文件后,显示×××
查看>>
ORACLE 数据分析和动态采样
查看>>