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"