11 最後乙個單詞的長度

2021-09-26 19:07:38 字數 882 閱讀 3435

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

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

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

示例:輸入: 「hello world」

輸出: 5

注意:

輸入 「a 」

輸出 1,不是0

解法一:

思路標籤:字串遍歷

從字串末尾開始向前遍歷,其中主要有兩種情況

第一種情況,以字串"hello world"為例,從後向前遍歷直到遍歷到頭或者遇到空格為止,即為最後乙個單詞"world"的長度5

第二種情況,以字串"hello world 「為例,需要先將末尾的空格過濾掉,再進行第一種情況的操作,即認為最後乙個單詞為"world」,長度為5

所以完整過程為先從後過濾掉空格找到單詞尾部,再從尾部向前遍歷,找到單詞頭部,最後兩者相減,即為單詞的長度

時間複雜度:o(n),n為結尾空格和結尾單詞總體長度

int lengthoflastword(char * s) 

int p1 = strlen(s) - 1;

int p2 = p1;

while(p2 >= 0 && s[p2] == ' ')

while(p2 >= 0)

else

}return p1 - p2;

}

解法二:

//從後往前找,遇到不是空格的開始計數,,,遇到空格結束,或者遍歷完

int lengthoflastword(char * s)else

}return a;

}

11 最後乙個單詞的長度

給你乙個字串 s,由若干單詞組成,單詞前後用一些空格字元隔開。返回字串中 最後乙個 單詞的長度。單詞 是指僅由字母組成 不包含任何空格字元的最大子字串。思路標籤 字串遍歷 從字串末尾開始向前遍歷,其中主要有兩種情況 第一種情況,以字串 hello world 為例,從後向前遍歷直到遍歷到頭或者遇到空...

最後乙個單詞的長度

給定由大寫,小寫字母和空格組成的字串,返回最後乙個單詞的長度。如果輸入中不存在單詞,返回 000。注意 單詞 是指不包含空格符號的字串 例如 對於字串 hello world 不帶引號 那麼返回的結果是 555 對於字串 abc abc 不帶引號 那麼返回的結果就是 333。輸入格式 輸入僅一行,為...

最後乙個單詞的長度

給定乙個僅包含大小寫字母和空格 的字串,返回其最後乙個單詞的長度。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指由字母組成,但不包含任何空格的字串。示例 輸入 hello world 輸出 5c int lengthoflastword char s while i 0 s i return...