LeetCode hot100-45-N

java 复制代码
230. 二叉搜索树中第K小的元素
给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。

这题做了做错了,但是参考别人的思路写了个还行的解法。

注意,从右边看的节点并不是一直递归root.right,因为某一层可能最右边的节点是空的,就看到更左边的一个节点去了。

思路就是深度递归,前序遍历。新的一层就放节点进list,但是并没有保证放进去的是最右边的节点,于是就在递归的时候一直更新同一层的那个节点。

java 复制代码
class Solution {
    List<Integer> list = new ArrayList<Integer>();

    public List<Integer> rightSideView(TreeNode root) {
        rightHelp(root,0);
        return list;

    }

    public void rightHelp(TreeNode root, int depth) {
        if (root == null) {
            return;
        }
        if(list.size()<=depth){
            list.add(root.val);
        } else {
            list.set(depth,root.val);
        }
        rightHelp(root.left, depth+1);
        rightHelp(root.right, depth+1);

    }
}
相关推荐
qq_4335545421 小时前
C++ 稀疏表
开发语言·c++·算法
2501_941800881 天前
5G技术引领下的智能制造革命:如何推动工业4.0发展
leetcode
小白程序员成长日记1 天前
2025.11.21 力扣每日一题
算法·leetcode·职场和发展
小年糕是糕手1 天前
【C++】C++入门 -- inline、nullptr
linux·开发语言·jvm·数据结构·c++·算法·排序算法
高洁011 天前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动
人工智能·深度学习·算法·aigc·知识图谱
星期天21 天前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
Andy1 天前
回文子串数目--动态规划算法
算法·动态规划
sin_hielo1 天前
leetcode 1930
算法·leetcode
塞北山巅1 天前
相机自动曝光(AE)核心算法——从参数调节到亮度标定
数码相机·算法
聆风吟º1 天前
【数据结构入门手札】算法核心概念与复杂度入门
数据结构·算法·复杂度·算法的特性·算法设计要求·事后统计方法·事前分析估算方法