美文网首页
199. 二叉树的右视图

199. 二叉树的右视图

作者: 编程小王子AAA | 来源:发表于2020-04-21 21:23 被阅读0次

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

    示例:

    输入: [1,2,3,null,5,null,4]
    输出: [1, 3, 4]
    解释:

       1            <---
     /   \
    2     3         <---
     \     \
      5     4       <---
    

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public List<Integer> rightSideView(TreeNode root) {
            List<Integer> res=new ArrayList<>();
            if(root==null) return res;
            Queue<TreeNode> queue=new LinkedList<>();
            queue.add(root);
            
            while(!queue.isEmpty()){
                int size=queue.size();
                for(int i=0;i<size;i++){
                    TreeNode temp=queue.poll();
                    if(i==size-1){
                        res.add(temp.val);
                    }
                    if(temp.left!=null) queue.add(temp.left);
                    if(temp.right!=null) queue.add(temp.right);
                }
            }
            return res;
    
        }
    }
    

    相关文章

      网友评论

          本文标题:199. 二叉树的右视图

          本文链接:https://www.haomeiwen.com/subject/tnsmihtx.html