输出给定二叉树的镜像二叉树?
思路:镜像二叉树,顾名思义左右孩子与原来树对称。
所以,就是从根结点开始不断交换左右孩子,
public class BinnaryTree {
//交换左右子树
class TreeNode{
int val;//数据域
TreeNode left=null;
TreeNode right=null;
public TreeNode(int val){//构造函数
this.val=val;
}
}
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;
//递归
Mirror(root.left);
Mirror(root.right);
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。