美文网首页
LeetCode-226-翻转二叉树(python)

LeetCode-226-翻转二叉树(python)

作者: JunfengsBlog | 来源:发表于2019-08-28 21:15 被阅读0次
    翻转二叉树

    发现了二叉树这种递归法都是有套路的,只要你把道理写清楚了,递归的复杂过程就让计算机去做吧,你不要管那么多。。。

    1. 每次需要考虑的特殊情况就是递归出口:这题就是当树为空时,return
    2. 然后先考虑根节点的左右子树翻转:用一个中间节点先保存左子树,其实就是利用交换两个数的值的思路,不再赘述。
    3. 递归左右子树
    4. return root
      代码如下:
    class Solution:
        def invertTree(self, root: TreeNode) -> TreeNode:
            if root is None:
                return
            tempNode = root.left
            root.left = root.right
            root.right = tempNode
            self.invertTree(root.left)
            self.invertTree(root.right)
            return root
    

    相关文章

      网友评论

          本文标题:LeetCode-226-翻转二叉树(python)

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