现在的位置: 首页 > 综合 > 正文

[LeetCode] Length of Last Word

2018年04月12日 ⁄ 综合 ⁄ 共 819字 ⁄ 字号 评论关闭

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
        
        if ( !s ) return 0;
	    int len=strlen(s);
	    int last=len-1;
	    while(last>=0&&s[last]==' ')
		    --last;
	    if( last <0 )
		    return 0;
	    int first=last;
	    while(first>=0&&s[first]!=' ')
		    --first;
	    return last-first;
    }
};

这个只需要一趟遍历:

class Solution {
public:
    int lengthOfLastWord(const char *s) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
		int ans=0,cur=0;
		for(int i=0;s[i]!='\0';i++)
		{
			if ( s[i] !=' ' )
				cur++;
			else
			{
			    if( cur!=0)
			    	ans=cur;
				cur=0;
			}
		}
		if( cur!=0)
			ans=cur;
		return ans;
    }
};

抱歉!评论已关闭.