美文网首页
每天一题LeetCode【第30天】(要说再见了👋)

每天一题LeetCode【第30天】(要说再见了👋)

作者: 草稿纸反面 | 来源:发表于2017-02-19 00:01 被阅读158次

T58. Length of Last Word【Easy

前言

开学了,这个系列要告一段落了,感谢看过我文章的人们~

本来这篇是存在以防万一的,既然最后一篇了就拿出来用吧,偷个懒 ╮(╯▽╰)╭,所以顺序可能不太对。

题目

给定一个由大小写字母和空格字符 ' ' 组成的字符串 s,返回字符串中最后一个单词的长度。

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

注意: 单词的定义是由非空格字符组成的字符序列。

例如,
给的 s = "Hello World"
则返回 5

思路

看到代码只有一行的我竟无言以对 (╯°Д°)╯。

好吧我还是讲讲它的思路:

① 用 s.trim() 方法去掉了首位的空格

② 用.length()获取总长度,用 lastIndexOf(" ") 获取最后一个 " " 的index

③ 简单小学生计算得到字符串长度

代码

代码取自 Top Solution,稍作注释

    public int lengthOfLastWord(String s) {
         return s.trim().length()-s.trim().lastIndexOf(" ")-1;
    }

补充

关于 s.trim() 方法,网上有人反编译了 String 类找到这个方法看了,我给个链接,我也不知道对不对,据说这个方法不仅删首位空格符还删换行符等25种..
http://blog.csdn.net/muyu114/article/details/5734295

哈但是!这题里面就是相当于删首位空格符(中间不删),例如:

" 123 23 34 123 ".trim() = "123 23 34 123"

相关文章

网友评论

      本文标题:每天一题LeetCode【第30天】(要说再见了👋)

      本文链接:https://www.haomeiwen.com/subject/bobdwttx.html