二叉树的镜像(java版)
2017-06-10 16:26
197 查看
【题目描述】操作给定的二叉树,将其变换为源二叉树的镜像。
【输入描述】
【解题思路】
//1. 交换左子树和右子树
【输入描述】
【解题思路】
//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); } } } }
相关文章推荐
- 剑指Offer面试题19(Java版):二叉树的镜像
- 【剑指offer-Java版】19二叉树的镜像
- java实现操作给定的二叉树,将其变换为源二叉树的镜像。
- 用java语言,操作给定的二叉树,将其变换为源二叉树的镜像(递归和循环两种方法)
- 剑指Offer 面试题27:二叉树的镜像 Java代码实现
- 剑指offer解题报告(Java版)——二叉树的镜像 19
- 二叉树的镜像(Java实现)
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 【剑指offer——JAVA实现】二叉树的镜像
- Java求一个二叉树的镜像(即翻转二叉树)
- 剑指offer第19题 输出二叉树的镜像 java解法
- 剑指Offer(Java版):二叉树的镜像
- Java 剑指offer_面试题19_二叉树的镜像
- 数据结构与算法分析笔记与总结(java实现)--二叉树12:二叉树的镜像
- 剑指Offer:二叉树的镜像(JAVA)
- 剑指Offer:面试题19——二叉树的镜像(java实现)
- 剑指Offer 19题 二叉树的镜像 Java版
- java 二叉树的镜像
- 镜像二叉树并层序打印 Java实现
- Java实现二叉树镜像 变换