美文网首页
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