翻转二叉树leetcode226
翻转一棵二叉树。 输入描述:
原二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
翻转二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
思路
class Solution(object):
def invertTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if not root:
return
root.left, root.right = root.right, root.left
self.invertTree(root.left)
self.invertTree(root.right)
return root
"""
只需要把根节点的子树的左孩子设置为原先的右孩子,右孩子设置为原先的左孩子即可完成二叉树的翻转
因此,我们可以利用递归的方式自底向上完成翻转
"""