美文网首页
每天一题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