leetcode的python实现 刷题笔记58:最后一个单词的长度(取巧的做法和全网最正确的做法)
2018-09-29 22:20
661 查看
给定一个仅包含大小写字母和空格
' '的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World" 输出: 5
一.取巧的做法
思路:
1.首先判断这个字符串是否为空,如果是就返回为0.然后使用python的字符串split()方法将字符串分割,返回最后一个字符串的长度即可。
2.这种做法比较投机取巧,实际上,当你测试其他非字母的单词时,一样会出现答案。
3.而题目中说的非常清楚,一个单词是指由字母组成,但不包含任何空格的字符串。
总结:
1.split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串。
里面什么都不加的时候,默认只要是空格类型的都会被当做分割的标志,例如空格、换行(\n)、制表符(\t)等。
2.除此之外,其实split() 还能通过按照指定的分隔符对字符串进行切片,并返回一个列表。例如str.split(',')
3.len() 方法在常规用法,一般是使用在列表上的。但实际上,它的返回对象可以是字符、列表、元组等的长度或项目个数。
[code]class Solution(object): def lengthOfLastWord(self, string): """ :type s: str :rtype: int """ if len(string) == 0: return 0 string = string.split() if len(string) > 0: print() if string[-1] == '': return 0 return len(string[-1]) return 0 sl = Solution() print(sl.lengthOfLastWord("Hello World")) print(sl.lengthOfLastWord("Hello 23!")) print(sl.lengthOfLastWord("Hello!")) print(sl.lengthOfLastWord(""))
二.考虑的比较全面的做法
思路:
1.将传递的字符串进行分割,如果是空字符串就直接返回0.如果长度大于0,就继续判断最后一个字符串的长度是否大于0?如果是就开始判断这个字符串是否全部为字母,如果是就返回这个单词的长度。除此之外的都返回0.
总结:
1.在这个用例里我们会学到几个字符串非常好用的方法,当判断是否含字母或者数字时,可以达到事半功倍的效果。
2.用isdigit函数判断是否全为数字,如果是就返回true
3.用isalpha判断是否全为字母,如果是就返回true
4.isalnum判断是否全为数字和字母的组合,如果是就返回true
[code]class Solution(object): def lengthOfLastWord(self, string): """ :type s: str :rtype: int """ string = string.split() if len(string) > 0: if len(string[-1]) > 0: if string[-1].isalpha(): return len(string[-1]) return 0 sl = Solution() print(sl.lengthOfLastWord("Hello World")) print(sl.lengthOfLastWord("Hello 23!")) print(sl.lengthOfLastWord("Hello!")) print(sl.lengthOfLastWord(""))
阅读更多
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】
- 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】
- LeetCode--Length of Last Word (计算最后一个单词的长度)Python
- [LeetCode-58] Length of Last Word(最后一个单词长度)
- python实现-字符串最后一个单词的长度
- Leetcode 058 最后一个单词的长度 C++ python JAVA
- [leetcode]Length of Last Word (求最后一个单词的长度 C语言实现)
- Length of Last Word (最后一个单词的长度) 【leetcode】
- (LeetCode)Length of Last Word --- 最后一个单词的长度
- leetcode_58. Length of Last Word 字符串最后一个单词的长度,字符串分词
- leetcode:求最后一个单词长度
- LeetCode | Length of Last Word(最后一个单词的长度)
- lintcode python代码 422 最后一个单词长度
- Python|计蒜客——最后一个单词的长度
- Leet Code 58 Length of Last Word - 最后一个单词的长度 -Java
- [Leetcode] Length of last word 最后一个单词的长度
- LeetCode 58 Length of Last Word(最后单词的长度)
- LeetCode 58. Length of Last Word(最后一个单词的长度)
- 【LeetCode】- Length of Last Word(最后一个单词的长度)
- LeetCode------58. Length of Last Word(字符串中最后一个单词的长度)