058-length-of-last-word
Question
https://leetcode.com/problems/length-of-last-word/description/
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
Thought Process
- Scanning Backward
- Having a pointer points at the end of the string and move forward the string if it's a space
- Then we stop at the end of the last word
- Increase the length as long as the character is not a space
- Time complexity O(n)
- Space complexity O(1)
Solution
class Solution {
public int lengthOfLastWord(String s) {
int len = 0, tail = s.length() - 1;
while(tail >= 0 && s.charAt(tail) == ' ') tail--;
while(tail >= 0 && s.charAt(tail) != ' '){
len++;
tail--;
}
return len;
}
}