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.
我利用java的库函数,split做的。
public int lengthOfLastWord(String s) {
if (s == null || s.length() == 0)
return 0;
String[] strs = s.split(" ");
if (strs.length == 0)
return 0;
int len = strs[strs.length - 1].length();
if (len > 0)
return len;
else
return 0;
}
能通过,如果不能库函数呢,那就用字符数组来检测,从后往前。
public int lengthOfLastWord(String s) {
int length = 0;
char[] chars = s.toCharArray();
for (int i = s.length() - 1; i >= 0; i--) {
if (length == 0) {
if (chars[i] == ' ') {
continue;
} else {
length++;
}
} else {
if (chars[i] == ' ') {
break;
} else {
length++;
}
}
}
return length;
}