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.
Given s = "Hello World",
return 5.
首先找到第一不是空格的地方,然后找第二个。
如果能改变string,可以用trim预处理string,可以省去第一步。
如果能改变string,可以用trim预处理string,可以省去第一步。
public class Solution {
//Time: O(n)
public int lengthOfLastWord(String s) {
if (s == null || s.length() == 0) {
return 0;
}
int right = s.length() - 1;
for (; right >= 0; right--) {
if (s.charAt(right) != ' ') {
break;
}
}
if (right < 0) {
return 0;
}
int left = right;
for (; left >= 0; left--) {
if (s.charAt(left) == ' ') {
break;
}
}
return right - left;
}
}
No comments:
Post a Comment