力扣58. 最後乙個單詞的長度
給定乙個僅包含大小寫字母和空格 ' ' 的字串 s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。
如果不存在最後乙個單詞,請返回 0 。
說明:乙個單詞是指僅由字母組成、不包含任何空格字元的 最大子字串。
示例:輸入: "hello world"
輸出: 5
思路:從右向左遍歷,從第乙個不是空格的字元開始計數,一旦開始計數,再遇到空格就結束了
標籤:字串遍歷
從字串末尾開始向前遍歷,其中主要有兩種情況
第一種情況,以字串"hello world"為例,從後向前遍歷直到遍歷到頭或者遇到空格為止,即為最後乙個單詞"world"的長度5
第二種情況,以字串"hello world "為例,需要先將末尾的空格過濾掉,再進行第一種情況的操作,即認為最後乙個單詞為"world",長度為5
所以完整過程為先從後過濾掉空格找到單詞尾部,再從尾部向前遍歷,找到單詞頭部,最後兩者相減,即為單詞的長度
時間複雜度:o(n),n為結尾空格和結尾單詞總體長度
#include "stdafx.h"
#includeusing namespace std;
class solution
//從後往前計算單詞長度
//記得先寫i >= 0,因為這是先決條件
while (i >= 0 && ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'a' && s[i] <= 'z')))
return len;
}};int main()
力扣 58 最後乙個單詞的長度
題意理解 給定乙個僅包含大小寫字母和空格 的字串 s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指僅由字母組成 不包含任何空格字元的 最大子字串。問題分析 字串處理,倒遍歷,注意區分第乙個空和結束時的空...
(力扣)第58 最後乙個單詞的長度
題目要求 給你乙個字串 s,由若干單詞組成,單詞之間用空格隔開。返回字串中最後乙個單詞的長度。如果不存在最後乙個單詞,請返回 0 單詞 是指僅由字母組成 不包含任何空格字元的最大子字串。解題思路 題解 class solution def lengthoflastword self,s str in...
58 最後乙個單詞的長度
給定乙個僅包含大小寫字母和空格 的字串 s,返回其最後乙個單詞的長度。如果字串從左向右滾動顯示,那麼最後乙個單詞就是最後出現的單詞。如果不存在最後乙個單詞,請返回 0 說明 乙個單詞是指僅由字母組成 不包含任何空格的 最大子字串。示例 輸入 hello world 輸出 5 class soluti...