剑指offer系列----镜像二叉树
来源:互联网 发布:数据库结构设计文档 编辑:程序博客网 时间:2024/05/29 03:08
package offer;/** * 操作给定的二叉树,将其变换为源二叉树的镜像。 */import java.util.Stack;public class Mirror { public void Mirror(TreeNode root) { //如果根节点为null,直接返回 if (root == null) return; //创建一个栈,用于存储根节点与子节点 Stack<TreeNode> stack = new Stack<TreeNode>(); //将根节点压入栈中 stack.push(root); //当栈为空的时候,停止循环,也就是说栈中的节点都没有子节点了 while (!stack.isEmpty()) { //将栈中存储的节点,进行出栈 TreeNode node = stack.pop(); //只要当前节点有子节点,就将左右节点进行交换 if (node.left != null || node.right != null) { TreeNode rootLeft = node.left; TreeNode rootRight = node.right; node.left = rootRight; node.right = rootLeft; } //如果当前node节点的左节点不为null,就将该节点的左节点压入栈中 //事实上,压入的就是之前的节点的右节点,因为已经交换过左右子树,所以现在是左节点 if (node.left != null) stack.push(node.left); //如果当前node节点的右节点不为null,就将该节点的右节点压入栈中 if (node.right != null) stack.push(node.right); } }}
0 0
- 剑指offer系列----镜像二叉树
- 剑指offer系列源码-二叉树的镜像
- 剑指Offer系列---(21)二叉树的镜像
- 剑指offer系列之十七:二叉树的镜像
- 【剑指offer系列】 二叉树的镜像___19
- 剑指offer系列之17:二叉树的镜像
- 剑指offer系列-T19二叉树的镜像
- 【剑指offer】二叉树的镜像
- [剑指Offer]二叉树的镜像
- 剑指offer--二叉树的镜像
- 剑指Offer-二叉树的镜像
- 《剑指offer》二叉树的镜像
- 剑指 offer:二叉树的镜像
- 【剑指offer】二叉树的镜像
- 剑指offer 二叉树的镜像
- [剑指offer]二叉树的镜像
- 《剑指offer》-二叉树的镜像
- 剑指Offer:二叉树的镜像
- 使用requireJS按需加载
- (26):优先考虑泛型
- iconfont使用简易教程
- Java反射机制( JAVA Reflection)
- ESP8266与NodeMCU开发(二)基础实验三则
- 剑指offer系列----镜像二叉树
- 整理一下当年的学习笔记之:JFreeChart初体验
- 理解Python的With语句
- java 反射实现快速sql语句
- web app是否能主宰未来的移动互联网?
- elasticsearch源码分析之客户端(三)
- Linux进程间通信——使用流套接字
- 174
- eclipse远程上传hdfs文件报错