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.
题解
class Solution {
public:
int lengthOfLastWord(string s) {
// vector<string> vec;
// for(int i = 0; i < s.length(); ++i){
// string t;
// while(i < s.length() && s[i] != ' '){
// t.push_back(s[i++]);
// }
// if(!t.empty()) vec.push_back(t);
// }
// if(vec.empty()) return 0;
// return vec.back().length();
int len = 0, tail = s.length() - 1;
while(tail >= 0 && s[tail] == ' ') tail--;
while(tail >= 0 && s[tail] != ' ') len++, tail--;
return len;
}
};
public class Solution {
public int lengthOfLastWord(String s) {
// String[] tmp = s.split(" +");
// if(tmp.length == 0) return 0;
// return tmp[tmp.length - 1].length();
return s.trim().length() - s.trim().lastIndexOf(" ") - 1;
}
}