给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例
输入:s = "luffy is still joyboy "
输出:6
解释:最后一个单词是长度为6的“joyboy”。
解析
1)只要最后一个单词,那就倒过来遍历
2)需要注意的是,句子两头都可能有空格
代码示例
1、系统函数实现
平常的开发中,这么干一点毛病没有,但。。。这是算法题,虽然分数高,但总觉得有一种浓浓的大蒜味。
def lengthOfLastWord(s: str) -> int: arr = s.strip().split(' ') return len(arr[-1])
2、遍历法
def lengthOfLastWord(s: str) -> int: result = 0 for char in s[::-1]: if char != ' ': result += 1 elif result > 0: return result return result s = " luffy is still joyboy " print(lengthOfLastWord(s))
执行用时:32 ms, 在所有 Python3 提交中击败了 88.50% 的用户.
本文为 陈华 原创,欢迎转载,但请注明出处:http://edu.ichenhua.cn/read/361