二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解答
# coding:utf-8 class ListNode: def __init__(self,x, left=None, right=None): self.val = x self.left = left self.right = right class Solution: # 返回镜像树的根节点 def Mirror(self, root): # write code here nodeList = [root] while nodeList: curNode = nodeList.pop(0) if not curNode: return None if curNode.left: nodeList.append(curNode.left) if curNode.right: nodeList.append(curNode.right) curNode.left, curNode.right = curNode.right, curNode.left return root a = ListNode('a') b = ListNode('b') c = ListNode('c') d = ListNode('d') f = ListNode('a') e = ListNode('e') f.left = b f.right = e b.left = c c.left = d e.right = a ret = Solution().Mirror(f) print ret.left.val print ret.right.val
结束!

浙公网安备 33010602011771号