- Max Consecutive Ones
思路:找0,1数组中最长连续1的长度。为了充分利用python里的函数,我将其转化为字符数组的形式,又连接又分割,步骤确实复杂了点。相对参考案例,当出现0就开始重计,它就很简单。
class Solution(object):
def findMaxConsecutiveOnes(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
s = map(str,nums)
s1= ''.join(s)
tmp = 0
for i in s1.split('0'):
tmp = max(tmp,len(i))
return tmp
- Invert Binary Tree
思路:递归的把每一个结点的左右子节点都更换,但是必须从上往下来。函数自己调用自己叫做递归。
class Solution(object):
def invertTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if root:
root.left, root.right = self.invertTree(root.right), self.invertTree(root.left)
return root
下次专攻“递归”的题目 深度优先搜索里用到递归很多,这种题也一般是树结构