二叉树的镜像

来源:互联网 发布:叉叉助手最新源码 编辑:程序博客网 时间:2024/05/01 07:54

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。 
输入描述:
二叉树的镜像定义:源二叉树         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) {         Mirrornode(root);    }    public TreeNode Mirrornode(TreeNode root){        if(root!=null) {           TreeNode temp=root.left;           root.left=Mirrornode(root.right);           root.right=Mirrornode(temp);        }        return root;    }}
另一种是这样写
public class Solution {    public void Mirror(TreeNode root) {         if(root==null) return;        if(root.left==null&&root.right==null) return;        TreeNode temp=root.left;        root.left=root.right;        root.right=temp;        if(root.left!=null) Mirror(root.left);        if(root.right!=null) Mirror(root.right);    }    }



0 0