镜像二叉树并层序打印 Java实现
2017-04-05 11:59
351 查看
import java.util.LinkedList; import java.util.Queue; public class Test19_MirrorTree { public static void main(String[] args) { //创建二叉树 TreeNode headNode1 = new TreeNode(1); TreeNode node2 = new TreeNode(2); TreeNode node3 = new TreeNode(3); TreeNode node4 = new TreeNode(4); TreeNode node5 = new TreeNode(5); TreeNode node6 = new TreeNode(6); TreeNode node7 = new TreeNode(7); headNode1.left = node2; headNode1.right = node3; node2.left = node4; node2.right = node5; node3.left = node6; node3.right = node7; //镜像二叉树 mirrorTree(headNode1); //打印二叉树 printLevelTree(headNode1); } private static void printLevelTree(TreeNode headNode1) { if(headNode1 == null){ return; } Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(headNode1); System.out.println("=====镜像后层序输出结果为===="); while(!queue.isEmpty()){ TreeNode tmp = queue.poll(); System.out.print(tmp.value+" "); //注意一下为对tmp的判断 如果用headNode1会产生错误 if(tmp.left != null){ queue.offer(tmp.left); } if(tmp.right != null){ queue.offer(tmp.right); } } } private static void mirrorTree(TreeNode headNode1) { //递归结束条件 if(headNode1 == null){ return; } //只有一个根节点 直接返回 if(headNode1.left == null && headNode1.right == null){ return; //不需要处理 } //交换非叶节点的左右子节点 TreeNode tmp = headNode1.left; headNode1.left = headNode1.right; headNode1.right = tmp; if(headNode1.left != null){ mirrorTree(headNode1.left); } if(headNode1.right != null){ mirrorTree(headNode1.right); } } }
相关文章推荐
- JAVA下实现二叉树的先序、中序、后序、层序遍历(递归和循环)
- 二叉树非递归遍历----前中后及层序的java实现
- 剑指Offer:面试题19——二叉树的镜像(java实现)
- 二叉树的前序,中序,后序和层序遍历java实现
- Java实现二叉树镜像 变换
- 二叉树先中后序遍历(递归、非递归方法)、层序遍历 Java实现
- java实现操作给定的二叉树,将其变换为源二叉树的镜像。
- 二叉树(创建、前序、中序、后序、层序遍历理论及java实现)
- 把二叉树打印成多行(Java实现)
- 剑指Offer 面试题27:二叉树的镜像 Java代码实现
- 剑指offer 面试题23 从上往下打印二叉树 Java实现
- 【LeetCode-面试算法经典-Java实现】【102-Binary Tree Level Order Traversal(二叉树层序遍历)】
- 数据结构与算法分析笔记与总结(java实现)--二叉树12:二叉树的镜像
- 查找二叉树的实现-镜像、层序,先序非递归实现
- 二叉树系列--层序遍历(java实现)
- java实现的二叉树(前序、中序、后序)递归和非递归遍历,包含层序遍历
- 【剑指offer——JAVA实现】二叉树的镜像
- Java实现带行号层序遍历二叉树的变种问题(使用二维数组保存)
- 二叉树的镜像(Java实现)
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)