1.Description
Given a string s consists of some words separated by spaces, return the length of the last word in the string. If the last word does not exist, return 0.
A word is a maximal substring consisting of non-space characters only.
2. Test Cases
Example 1:
Input: s = "Hello World"
Output: 5
Example 2:
Input: s = " "
Output: 0
3. Solution
3.1
拿到题目之后的第一想法是根据空格来拆分字符串,然后根据得到数组,取出最后一个字符串,获取长度。
class Solution {
public int lengthOfLastWord(String s) {
String[] s1 = s.split(" ");
return s1.length == 0 ? 0 : s1[s1.length-1].length();
}
}
3.2
虽然测试用例可以通过,但是有必要把字符串拆分成这样吗? 可以先去除头尾的空格,然后从最后一个空格后面开始截取,得到的就是最后一个字符串,再计算长度即可。
class Solution {
public int lengthOfLastWord(String s) {
String str = s.trim();
if (str.length() == 0)
return 0;
String substring = str.substring(str.lastIndexOf(" ") + 1);
return substring.length();
}
}