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 =
return
Given s =
"Hello World"
,return
5
.
Our solution:
We base our solution on a DFA with two states:and we present the input in reverse order, to get the last word length.
The code assuming that the input contains only letters and spaces as mentioned is:
public class Solution {
public int lengthOfLastWord(String s) {
int count = 0;
int state = 0;
for(int i = s.length()-1; i>=0; i--)
{
switch (state)
{
case 0: if(s.charAt(i) != ' ')
{
state = 1;
count++;
}
break;
case 1: if (s.charAt(i) != ' ')
count++;
else
return count;
}
}
return count;
}
}
No comments :
Post a Comment