镜像二叉树并层序打印 Java实现
来源:互联网 发布:阿里云linux服务器 编辑:程序博客网 时间:2024/04/28 15:50
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);}}}
1 0
- 镜像二叉树并层序打印 Java实现
- 去哪网笔试 按层打印二叉树 Java实现
- 查找二叉树的实现-镜像、层序,先序非递归实现
- 二叉树的镜像java实现
- 二叉树的层序打印
- 剑指offer60 层序打印二叉树
- java实现二叉树的镜像--剑指offer
- 剑指offer---二叉树的镜像---java实现
- 二叉树的镜像(Java实现)
- java实现从上往下打印出二叉树的每个节点,同层节点从左至右打印。
- 算法实现-二叉树的按层打印
- 平层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 用Java实现FTP批量大文件上传下载(三)
- C++作业3
- [044]利用FFM做新闻源评级一算法调研
- 递归
- 用Java实现FTP批量大文件上传下载(四)
- 镜像二叉树并层序打印 Java实现
- go语言string、int、int64互相转换[待编辑]
- Spring整合MongoDB之CRUD
- CodeForces
- Okhttp插入日志及结合Retrofit使用
- 用Java实现FTP批量大文件上传下载(五)
- 自定义控件—AndroidTagView标签,可在标签中添加图片,控制图片的位置
- PMP-组织影响和项目生命周期-组织对项目管理的影响
- Android 实战之酷云(二)