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.
Example:
Input: "Hello World"
Output: 5
Solution (Java)
class Solution {
public int lengthOfLastWord(String str) {
int len = 0;
for (int i = str.length() - 1; i >= 0; i--) {
char ch = str.charAt(i);
if (ch == ' ' && len > 0) {
break;
} else if (ch != ' ') {
len++;
}
}
return len;
}
}
Solution (Javascript)
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
var str = s.trim();
var len = str.length;
var i = len - 1;
while (i >= 0 && str[i] !== ' ') i--;
return len - 1 - i;
};
Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(1).