LeetCode_Length of Last Word

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(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;
    }
};
View Code

 

    方法二:反向扫描 

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 ;
        
    }
};

 

 

 

 

 

posted @ 2013-07-24 20:33  冰点猎手  阅读(186)  评论(0编辑  收藏  举报