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

输出单层结点

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;
    }
}
全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
冷艳的小师弟在看机会:jd测评乱点直接被挂了,哭死~
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务