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

思路

层序遍历 从左向右遍历每一层取最后一个数,代码如下:

java 复制代码
public List<Integer> rightSideView(TreeNode root) {
        if (root==null){
            return new ArrayList<>();
        }
        Queue<TreeNode> queue = new LinkedList<>();
        List<Integer> list = new ArrayList<>();
        TreeNode cur=root;
        queue.add(cur);
      
        while (!queue.isEmpty()){
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                cur = queue.poll();
                if (i==size-1){
                    list.add(cur.val);
                }
                if (cur.left!=null){
                    queue.add(cur.left);
                }
                if (cur.right!=null){
                    queue.add(cur.right);
                }
            }
        }
        return list;
    }
相关推荐
迈巴赫车主2 分钟前
求最大公约数-欧几里得算法(辗转相除法)
算法·最大公约数
sunwenjian8865 分钟前
Java进阶--IO流
java·开发语言
lxl130715 分钟前
C++算法(15)BFS_FloodFill
算法·宽度优先
小王C语言18 分钟前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??19 分钟前
BeyondMimic 论文解析
人工智能·算法·机器人
WolfGang00732123 分钟前
代码随想录算法训练营 Day20 | 回溯算法 part02
算法
YXXY31325 分钟前
前缀和算法
算法
客卿12326 分钟前
滑动窗口--模板
java·算法
_日拱一卒43 分钟前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
zjjsctcdl1 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql