水下功夫做透,水上才能顺风顺水。

二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

 

 public List<Integer> rightSideView(TreeNode root) {
        List<Integer> list = new ArrayList<>();
        if(root==null){
            return list;
        }
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        while(!queue.isEmpty()){
            int size = queue.size();
            for(int i=0;i<size;i++){
                TreeNode treeNode =  queue.poll();
                if(i==0){
                   list.add(treeNode.val);
                }
                if(treeNode.right!=null){
                    queue.offer(treeNode.right);
                }
                if(treeNode.left!=null){
                    queue.offer(treeNode.left);
                }
            }
        }
        return list;
    }

 

posted @ 2022-10-22 09:46  北方寒士  阅读(25)  评论(0编辑  收藏  举报