首页 > 学院 > 开发设计 > 正文

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

2019-11-08 01:58:52
字体:
来源:转载
供稿:网友

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

递归解决:

package com.mytest.mymain;class TreeNode {	int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}public class MirrorTree {	public void Mirror(TreeNode root) {        if(root==null)        	return;        if(root.left==null && root.right==null)        	return;                TreeNode treeNode=root.left;        root.left=root.right;        root.right=treeNode;                if(root.left!=null){        	Mirror(root.left);        }        if(root.right!=null){        	Mirror(root.right);        }  	}}

非递归解决核心代码:
while(root!=null || mystack!=null){while(root!=null){	TreeNode treeNode=root.left;        root.left=root.right;        root.right=treeNode;		mystack.push(root);              root=root.left;}root=mystack.pop();root=root.right;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表