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
.
tips: 1. check corner situation.
2. if initial situation is different from others, deal with it before go into loop.
3. if ending situation is different from other, insert a sentinel or a dummy value.
class Solution {
public:
int lengthOfLastWord(const char *s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if( *s == '\0') return 0;
int len = *s == ' ' ? 0 : 1;
while( (*++s) != '\0' ) {
if( *s != ' ') {
if( *(s-1) != ' ') {
len++;
} else {
len = 1;
}
}
}
return len;
}
};
public class Solution {
public int lengthOfLastWord(String s) {
// Start typing your Java solution below
// DO NOT write main() function
// " hello world "
if(s==null || s.length() <1) return 0;
int count = s.charAt(0)==' ' ? 0 : 1;
for(int i=1; i<s.length(); i++) {
if(s.charAt(i) != ' ' ) {
if(s.charAt(i-1) == ' ') {
count = 1;
} else {
++count;
}
}
}
return count;
}
}