Problem
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.
For example,
Given s = "Hello World",
return 5.
My Solution
public class Solution {
public static int lengthOfLastWord(String s) {
s = s.trim(); // 去掉字符串首尾的空格
int i = 0;
for (i = s.length() - 1; i >= 0; --i) {
if (s.substring(i, i + 1).equals(" ")) {
return s.length() - i - 1;
}
}
return s.length();
}
Great Solution
public int lengthOfLastWord(String s) {
return s.trim().length()-s.trim().lastIndexOf(" ")-1;
}