牛客网 | 输出单层结点
来源:互联网 发布:bellman-ford算法实例 编辑:程序博客网 时间:2024/05/01 13:34
题目描述
对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。
给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。
import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*//*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class TreeLevel { public ListNode getTreeLevel(TreeNode root, int dep) { // write code here ListNode Head = new ListNode(-1); ListNode pHead = Head; ArrayList<Integer> data = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); int count = 1; while(!queue.isEmpty()) { int len = queue.size(); int index = 0; ArrayList<Integer> list = new ArrayList<>(); while(index++<len) { TreeNode treeNode = queue.poll(); list.add(treeNode.val); if(treeNode.left!=null) queue.add(treeNode.left); if(treeNode.right!=null)queue.add(treeNode.right); } if(count==dep) { data = list; break; } count++; } for (int i = 0; i < data.size(); i++) { pHead.next = new ListNode(data.get(i)); pHead = pHead.next; } return Head.next; }}
0 0
- 牛客网 | 输出单层结点
- 输出单层结点
- 输出单层结点
- 输出单层结点
- 输出单层结点
- 输出树单层结点
- 输出单层结点
- 输出单层结点
- 输出单层结点
- 第九天 输出单层结点
- 面试算法-----输出单层结点
- 《程序员面试金典》输出单层结点
- 输出单层结点之程序员面试经典
- 程序员面试金典——输出单层结点
- 程序员面试金典——输出单层结点
- 程序员面试金典:高度最小的BST、输出单层结点
- 单层输出节点
- 输出单层节点
- gcc和g++的区别
- Jquery easyui开启行编辑模式增删改操作
- 文章标题
- 文件读取的方式 流的几种方式
- FZOJ--2212--Super Mobile Charger(水题)
- 牛客网 | 输出单层结点
- 程序员常见面试之 数据库 知识点小结(三)
- Linux-001-nginx index 中文乱码
- 负定矩阵
- iOS- 极光推送
- 文章标题
- 解决证书过期问题
- 源码探索系列13---Window的PhoneWindow与WindowManager
- Java多线程-并发中的集合详解