给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World" 输出: 5
简单使用正则表达式匹配多个空格的情况,剔除全部是空格的字符串,然后使用split函数将单词分开,解决问题。
split函数比较简单,在其他语言中也可以手动使用。所以这里不再多此一举了。
代码如下:
class Solution { public int lengthOfLastWord(String s) { if(s.matches("\s+")) return 0; String[] ss = s.split(" "); return ss[ss.length-1].length(); } }
如果在充分理解题意的情况下,可以使用倒序判断,速度更加快捷。
代码如下:
class Solution { public int lengthOfLastWord(String s) { if(s.length()==0) return 0; else { int index=s.length()-1; int count=0; while(index>=0 && s.charAt(index)==' ') index--; while(index>=0 && s.charAt(index)!=' ') { count++; index--; } return count; } } }