标签:树的遍历 二叉树 NPU 遍历 output return root 交换 end
Invert a binary tree.
Example:
Input:
4
/ 2 7
/ \ / 1 3 6 9
Output:
4
/ 7 2
/ \ / 9 6 3 1
把左子树和右子树进行交换。交换完之后,再去递归翻转左子树和右子树
class Solution(object):
def invertTree(self, root):
if root:
root.left,root.right = root.right,root.left
self.invertTree(root.left)
self.invertTree(root.right)
return root
换父节点的时候,把子节点存下来,然后换完父节点了,就去换子点的。
class Solution(object):
def invertTree(self, root):
node = root
queue = [root]
while len(queue):
root = queue.pop(-1)
if root:
root.left,root.right = root.right,root.left
if root.left:
queue.append(root.left)
if root.right:
queue.append(root.right)
return node
标签:树的遍历 二叉树 NPU 遍历 output return root 交换 end
原文地址:https://www.cnblogs.com/xmxj0707/p/10381201.html