【算法】求二叉树的镜像树

来源:互联网 发布:数据挖掘的研究现状 编辑:程序博客网 时间:2024/06/04 18:12

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述:

二叉树的镜像定义:源二叉树         8       /  \      6   10     / \  / \    5  7 9 11    镜像二叉树        8       /  \      10   6     / \  / \    11 9 7  5
分析:二叉树的镜像树,通过上图可以看出,从根结点出发(先序遍历思想),先交换根结点的孩子,再依次递归交换左子树、右子数。
public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}public class Solution {   public void Mirror(TreeNode root) {        if(root==null)        return;        else {        TreeNode temp=root.left;//交换左右孩子        root.left=root.right;        root.right=temp;        Mirror(root.left);//对左子树进行递归翻转        Mirror(root.right);//对右子树进行递归翻转        }                    }}


原创粉丝点击