题解 | #基本字符串压缩#

输出单层结点

http://www.nowcoder.com/practice/cb6c883b123b44399377d0c71e6ba3ea

bfs的变形
用count保存当前层数,当达到dep时进行成殓操作

public class TreeLevel {
    public ListNode getTreeLevel(TreeNode root, int dep) {
        // write code here
        int count = 1;
        Deque<TreeNode> queue = new ArrayDeque<>();
        queue.offer(root);
        ListNode head = new ListNode(-1);
        ListNode p = head;

        while(!queue.isEmpty()){ 
            for(int i = queue.size() - 1; i >= 0 ; i --){
                TreeNode node = queue.poll();
                if(count == dep){
                    p.next = new ListNode(node.val);
                    p = p.next;
                }
                if(node.left != null) queue.add(node.left);
                if(node.right != null) queue.add(node.right);
            }
            count ++;
        }

        return head.next;
    }
}
全部评论

相关推荐

想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务