二叉树的镜像
来源:互联网 发布:阿里云数据分析 编辑:程序博客网 时间:2024/06/05 15:34
import java.util.LinkedList; public class MirrorTest { //递归 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);//镜像根节点的右孩子的左右子树 } } //非递归实现 public void Mirror1(TreeNode root) { if(root == null) { return; } LinkedList<TreeNode> stack = new LinkedList<TreeNode>();//借助于辅助栈 TreeNode current = null;//存放出栈的栈顶元素 TreeNode temp = null; stack.push(root);//将根元素入栈 while(!stack.isEmpty()) { current = stack.pop();//将根元素出栈 交换根元素的左右子树 if(current.left != null || current.right != null)//若左右孩子不为空则交换左右孩子 { temp = current.left; current.left = current.right; current.right = temp; } //将根元素的左右孩子压入栈中 if(current.left != null) stack.push(current.left); if(current.right != null) stack.push(current.right); } } }
阅读全文
0 0
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 剑指offer之十三---链表中倒数第k个结点
- 数据库系统
- POJ-2104 K-th Number(线段树[归并树]-区间第k大)
- 20170928_二叉树的一些基本概念
- OWB的ETL工具教程
- 二叉树的镜像
- css 清除浮动
- LinuxStudyNote(33)-Linux常用命令(8)-mount挂载命令、umount卸载命令
- angular4 服务依赖注入的三种方法
- linux常用操作命令及linux系统目录结构
- [agc015e]Mr.Aoki Incubator
- python笔记003--python的运行方式
- HDU
- 享元模式