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;
    }
相关推荐
叼烟扛炮19 分钟前
C++ 知识点18 内部类
开发语言·c++·算法·内部类
YOGOD有神20 分钟前
用AI自动从谷歌地图抓取海外客户,我跑了一次7小时的任务,结果出乎意料
算法
汉克老师23 分钟前
GESP5级C++考试语法知识(十五、分治算法(二))
c++·算法·排序算法·分治算法·gesp5级·gesp五级
快瞳科技24 分钟前
小样本学习在珍稀鸟类识别中的突破:仅需5张图,让AI认识濒危物种
算法
TAN-90°-39 分钟前
Java 3——getter和setter super()关键字
java·开发语言
wand codemonkey40 分钟前
(二十七)Maven(依赖)【安装】+【项目结构】
java·开发语言·maven
linda公馆42 分钟前
Maven项目报错:java:错误:不支持发行版本 5
java·开发语言·maven
汉克老师43 分钟前
GESP6级C++考试语法知识(五、格雷码)
c++·算法·位运算·异或·gesp6级·gesp六级·格雷码
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 可视化革命——基于 PyVista 的 3D 战场构建与实时渲染
开发语言·python·算法·3d·系统仿真
,,?!,1 小时前
数据结构算法-排序算法
数据结构·算法·排序算法