1. 程式人生 > >leetcode 58. 最後一個單詞的長度 C語言版

leetcode 58. 最後一個單詞的長度 C語言版

給定一個僅包含大小寫字母和空格 ' ' 的字串,返回其最後一個單詞的長度。

如果不存在最後一個單詞,請返回 0 。

說明:一個單詞是指由字母組成,但不包含任何空格的字串。

示例:

輸入: "Hello World"
輸出: 5

這道題從後面向前遍歷,找到第一個字母開始計數,直到第一個不是字母為止。要考慮只有一個單詞的情況。

int lengthOfLastWord(char* s) {
    int i=strlen(s);
	int j,end=0,begin=0,len=0;
	for(j=i-1;j>=0;j--)
	{
		if((s[j+1]=='\0'&&s[j]!=' ')||(s[j+1]==' '&&s[j]!=' '))//可能是從最後一個字母開始統計
			end=j+1;
		if((j==0&&s[0]!=' ')||(s[j]!=' '&&s[j-1]==' '))//可能遍歷到第一個字母
		{
			begin=j;
			break;
		}
	}
    len=end-begin;
	return len;
}