本文共 983 字,大约阅读时间需要 3 分钟。
Given a string s consists of upper/lower-case alphabets and empty space characters ' '
, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
Example:
Input: "Hello World"Output: 5
easy 级别。求字符串包含空格分割后的最后一个子串的长度。
字符串的题目,这个我理解就是单纯的api使用,没啥算法了,从头遍历。有些边界case要注意,比如"a ",还有尾部没有空格" a"。
还有全是空格的“ ”。所以要trim()处理。这里使用了数组来处理。
public static int lengthOfLastWord(String s) { if(s== null || s.length()==0){ return 0; } String[] arrays= s.split(" "); String str =arrays[arrays.length-1]; return str.length(); }
Runtime: 1 ms, faster than 46.94% of Java online submissions for Length of Last Word.
Memory Usage: 35.6 MB, less than 100.00% of Java online submissions forLength of Last Word.
看了下讨论区,还有大神一行代码直接算。用trim 之后总长度-最后一次“”的位置。
public static int lengthOfLastWord(String s) {
return s.trim().length()-s.trim().lastIndexOf(" ")-1;
}
转载地址:http://srdy.baihongyu.com/