题目
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.
public int lengthOfLastWord(String s) {
int i = s.length()-1;
int j = i;
while (i >= 0) {
char c = s.charAt(i);
if (c == ' ' || c == '\t' || c == '\n') {
i--;
j--;
if (i != j) {
break;
}
} else {
i--;
}
}
return j - i;
}更高效的办法,其中的技巧性还是有的,尤其注意在下标i递增的情形,是一种判断相邻字符串区别的好办法!!!
public int lengthOfLastWord(String s) {
int len = 0;
for (int i = 0; i < s.length();) {
if (s.charAt(i++) != ' ') {
len ++;
} else if (i < s.length() && s.charAt(i) != ' ') {
len = 0;
}
}
return len;
}

本文提供了一种高效的Java方法来计算给定字符串中最后一个单词的长度,通过双指针技巧实现从尾端遍历,避免了传统方法的冗余操作。
241

被折叠的 条评论
为什么被折叠?



