输出单层结点

来源:互联网 发布:淘宝怎么添加多个客服 编辑:程序博客网 时间:2024/05/01 08:27

题目描述

对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。

给定二叉树的根结点指针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        if(root==null||dep<=0) return null;ListNode list = new ListNode(-1);ListNode res = list;createList(root, dep, list);res = res.next;return res;    }        public ListNode createList(TreeNode root, int dep, ListNode list){if(root==null) return null;if(dep==1){ //树的高度计算方式要注意list.next = new ListNode(root.val);list = list.next;return list;}list = createList(root.left, dep-1, list); //注意这里,传入的list要通过返回值来及时修改list = createList(root.right, dep-1, list);return list;}}


0 0
原创粉丝点击