二叉树oj ----- > 二叉树的右视图

Posted ohana!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树oj ----- > 二叉树的右视图相关的知识,希望对你有一定的参考价值。

题目内容:

 解题思路:

  • 基本思路还是借助于层序遍历,用list接收
  • 在每层元素在进行遍历时,我们只需接收最后 i == count - 1 元素即可

解题代码:

class Solution {
    public List<Integer> rightSideView(TreeNode root) {
        List<Integer> list = new ArrayList<>();
        if(root == null){
            return list;           
        }

        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root);
        while(!q.isEmpty()){
            int count = q.size();
            for(int i= 0;i < count;i++){
                TreeNode cur = q.poll();
                if(i == count - 1){
                    list.add(cur.val);
                }
                if(cur.left != null){
                    q.offer(cur.left);
                }
                if(cur.right != null){
                    q.offer(cur.right);
                }
            }
        }

        return list;
    }
}

以上是关于二叉树oj ----- > 二叉树的右视图的主要内容,如果未能解决你的问题,请参考以下文章

二叉树--二叉树的右视图

算法系列——二叉树的右视图

算法系列——二叉树的右视图

leetcode199二叉树的右视图

199二叉树的右视图

leetcode 199 二叉树的右视图