二叉树的镜像
时间限制:1秒 空间限制:32768K 热度指数:244477
算法知识视频讲解
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:
源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
代码
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回镜像树的根节点
def Mirror(self, root):
# write code here
if root:
root.right, root.left = self.Mirror(root.left), self.Mirror(root.right)
return root
else:
return None
update:2019年10月5日
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回镜像树的根节点
def Mirror(self, root):
# write code here
temp = root
if not root:
return
temp.left, temp.right = temp.right, temp.left # 1.先本层左右换
if temp.left:
temp.left = self.Mirror(temp.left) # 2.再分别递归
if temp.right:
temp.right = self.Mirror(temp.right)
return root