Leetcode 226. Invert Binary Tree

时间:2022-07-01 15:05:30

Invert a binary tree.

     4
/ \
2 7
/ \ / \
1 3 6 9

to

     4
/ \
7 2
/ \ / \
9 6 3 1 使用递归的trival solution
 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.right)
self.invertTree(root.left) return root

非递归的话,需要一个queue辅助。

 class Solution(object):
def invertTree(self, root):
"""
:type root: TreeNode
:rtype: TreeNode
"""
if not root:
return queue = [root] while queue:
node = queue.pop(0)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
node.left, node.right = node.right, node.left return root