把二叉树打印成多行
来源:互联网 发布:md5 c语言实现 编辑:程序博客网 时间:2024/06/16 01:24
1、来源:把二叉树打印成多行
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
2、代码:
ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer> > res = new ArrayList<ArrayList<Integer>>(); Queue<TreeNode> queue = new LinkedList<TreeNode>(); if(pRoot != null) queue.add(pRoot); while(!queue.isEmpty()){ ArrayList<Integer> array = new ArrayList<Integer>();// 保存当前层的所有子节点 int breadth_num = queue.size(); //当前层的 节点数 TreeNode treeNode = queue.poll(); array.add(treeNode.val); while(breadth_num != 0){//遍历当前层的所有节点 if(treeNode.left != null){//当前节点左子节点加入队列 queue.add(treeNode.left); } if(treeNode.right != null){//当前节点右节点加入队列 queue.add(treeNode.right); } breadth_num--; //表示当前层 节点数 遍历完成一个 if(breadth_num > 0){ //如果当前层还存在未节点节点,将节点放到该层数组中 treeNode = queue.poll(); array.add(treeNode.val); } } res.add(array); } return res; }
阅读全文
0 0
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- Oracle创建、删除DATABASE LINK
- 三种HTML标签
- Android studio打包apk的时候报错Android Error:Error: Expected a color resource id (R.color.) but received an
- VS Code 连接 Cocos Creator 调试 launch.json 配置
- spring security 标准Filter及其在filter chain的顺序
- 把二叉树打印成多行
- 解决Eclipse出现卡顿
- aggregations 详解1(概述)
- 排序算法 插入排序
- 《Spring Boot 实战》-- 读书笔记
- weblogic https openssl制作证书及服务器ssl配置
- Synchronized和线程安全
- 移动端focus事件失效问题
- Git可视化教程——Git Gui的使用