Leetcode演算法——58、最後單詞的長度(length of last word)
阿新 • • 發佈:2018-12-13
給定一個字串,包含大小寫字母和空格。返回字串中最後一個單詞的長度。
如果最後一個單詞不存在,返回0。
備註:
一個單詞定義為不包含空格的字元序列。
示例:
Input: "Hello World"
Output: 5
思路
從後向前,尋找到第一個出現的非空格。
然後繼續向前,尋找到第一個出現的空格。
兩者之間的單詞即為最後一個單詞。
比如輸入 “Hello World”,從後向前,第一個出現的非空格為 ‘d’,然後繼續向前,第一個出現的空格為 ‘W’ 左邊的空格。
那麼兩者之間的 ‘World’ 即為最後一個單詞。
注意:
1、考慮都是空格的情況,這時候單詞長度為0
2、考慮都是非空格的情況,這時候單詞長度為整體長度。
python實現
def lengthOfLastWord(s):
"""
:type s: str
:rtype: int
"""
for i in range(len(s)-1, -1, -1):
if s[i] != ' ':
break
else: # 都是空格
return 0
for j in range(i, -1, -1):
if s[j] == ' ':
break
else: # i之前都是字母
return i+1
return i-j
if '__main__' == __name__:
s = "Hello World"
print(lengthOfLastWord(s))