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

输出单层结点

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

相关推荐

03-26 12:00
已编辑
门头沟学院 Java
offer魅魔_oc...:100-200每天,你还要倒贴100
点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务