二叉树的镜像(java版)
来源:互联网 发布:nginx负载均衡session 编辑:程序博客网 时间:2024/05/16 14:55
【题目描述】操作给定的二叉树,将其变换为源二叉树的镜像。
【输入描述】
【解题思路】
//1. 交换左子树和右子树
//递归public class Solution { public void Mirror(TreeNode root) { if(root == null){ return; } if(root != null){ if(root.left != null && root.right != null){ TreeNode tr = root.left; root.left = root.right; root.right = tr; }else if(root.left != null && root.right == null){ TreeNode tr = root.left; root.left = null; root.right = tr; }else if(root.left == null && root.right != null){ TreeNode tr = root.right; root.right = null; root.left = tr; }else{ } } if(root.left != null){ Mirror(root.left); } if(root.right != null){ Mirror(root.right); } }}
//非递归import java.util.Stack; public class Solution { public void Mirror(TreeNode root) { 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 temp = node.left; node.left = node.right; node.right = temp; } if(node.left!=null){ stack.push(node.left); } if(node.right!=null){ stack.push(node.right); } } }}
阅读全文
0 0
- 二叉树的镜像(java版)
- java 二叉树的镜像
- 二叉树的镜像java实现
- 【剑指offer-Java版】19二叉树的镜像
- 剑指offer:二叉树的镜像(java)
- 二叉树的镜像(Java实现)
- 剑指Offer面试题19(Java版):二叉树的镜像
- 剑指Offer面试题19(Java版):二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- 二叉树的镜像
- MVC到前后端分离
- Mysql学习之 mysqldump 备份恢复
- 动态规划-入门
- My97DatePicker的基本时间格式的使用
- Android XmlSerializer生成XML文件
- 二叉树的镜像(java版)
- 自定义等长的 ViewPagerIndicater
- 通俗解释~ 图像识别究竟是什么?
- 线程小知识
- Device Module之device,driver和class(基于kernel 4.11)
- 全国政协委员汪国新做客湖北台|画家委员的文化担当
- Android Studio 调试 smali
- IntelliJ IDEA---新建项目名称全是红色的
- linux驱动调试--oops信息