标签:
题目:
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
.
链接: http://leetcode.com/problems/length-of-last-word/
一刷,还是有粗心错误。从后向前遍历,初始化in_word为False,之后如果不为空则count += 1,如果为空则继续往前直到查找到第一个非空的字母。再向前查找空字符,找到或者循环结束时返回。
class Solution(object): def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ in_word = False count = 0 for rev_idx in range(len(s), 0, -1): val = s[rev_idx - 1] if not in_word and val == ‘ ‘: continue elif in_word and val == ‘ ‘: return count elif val != ‘ ‘: in_word = True count += 1 else: return count if in_word else 0
参考别人代码简化:in_word和count是否为0是一个状态,可省略一个。
class Solution(object): def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ count = 0 for rev_idx in range(len(s), 0, -1): val = s[rev_idx - 1] if val == ‘ ‘: if not count: continue else: break else: count += 1 return count
标签:
原文地址:http://www.cnblogs.com/panini/p/5576790.html