二叉树的右视图Java

2021/6/29 14:24:59

本文主要是介绍二叉树的右视图Java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

刷题记录第二题,上一题:岛屿数量
地址:二叉树的右视图
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:

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

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

考查知识点:二叉树的层序遍历。也就是在添加元素的时候,判断下是否是本层的最后一个即可。

class Solution {
    public List<Integer> rightSideView(TreeNode root) {
        List<Integer> result = new ArrayList<>();
        if(root == null)
            return result;
        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.remove();
                if(i == size - 1){
                    result.add(temp.val);
                }
                if(temp.left != null)
                    queue.add(temp.left);
                if(temp.right != null)
                    queue.add(temp.right);
            }
        }
        return result;
    }
}


这篇关于二叉树的右视图Java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程