class Solution {
public:
int lengthOfLastWord(const char *s) {
string str(s);
removeLeadingBlanks(str);
removeTrailingBlanks(str);
size_t loc = str.find_first_of(' ');
while(loc != string::npos) {
str = str.substr(loc);
removeLeadingBlanks(str);
loc = str.find_first_of(' ');
}
removeTrailingBlanks(str);
return str.length();
}
void removeLeadingBlanks(string& s) {
size_t f = s.find_first_not_of(' ');
if(f != string::npos) {
s = s.substr(f);
} else {
s="";
}
}
void removeTrailingBlanks(string& s) {
int i = s.length() - 1;
for(; i >=0; --i) {
if(s[i] != ' ') {
break;
}
}
s = s.substr(0, i + 1);
}
};
4/06/2014
Leetcode -- Length of Last Word
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment