Invert Binary Tree
Last updated
Last updated
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def invertTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if root is not None:
root.left, root.right = self.invertTree(root.right),self.invertTree(root.left)
return root if root is not None:
root.left, root.right = root.right,root,left #若非None,则引用left,right不会出错,直接互换其左右节点
======分别判断左右结点是不是None,再将它们各自的左右结点互换,由此发现可以递归======
return root #如果root就是None的话,直接返回本身,因为不需要翻转了 if root is not None:
root.left, root.right = self.invertTree(root.right),self.invertTree(root.left) #发现需要递归的形式,与上一句语句类似,因此决定将其代替。
return root #如果root就是None的话,直接返回本身,因为不需要翻转了