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.
方法一: 正面扫描
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
class Solution { public: int lengthOfLastWord(const char *s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = strlen(s); if(len == 0) return 0; char temp[1000]; int result =0; int pos =0 ; while(pos < len) { while(pos < len && s[pos]== ' ') pos++; int num = sscanf(s + pos, "%s", temp); if(num == -1) break; result = strlen(temp); pos = pos + result; } return result; } };
方法二:反向扫描
class Solution { public: int lengthOfLastWord(const char *s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len =strlen(s) ; int i = len -1; while(i>=0 && s[i] == ' ') i--; if(i == -1) return 0; int count = 0; while(i>=0 && s[i]!= ' ') { count++; i--; } return count ; } };