Day33

作者: wendy_要努力努力再努力 | 来源:发表于2017-12-23 10:03 被阅读0次
  1. 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

  1. 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

下次专攻“递归”的题目 深度优先搜索里用到递归很多,这种题也一般是树结构

相关文章

网友评论

      本文标题:Day33

      本文链接:https://www.haomeiwen.com/subject/yvpfgxtx.html