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);

    }
}
相关推荐
玉树临风ives几秒前
atcoder ABC 453 题解
数据结构·c++·算法·图论·atcoder
田梓燊6 分钟前
leetcode 48
算法·leetcode·职场和发展
mmz120710 分钟前
深度优先搜索DFS2(c++)
c++·算法·深度优先
6Hzlia10 分钟前
【Hot 100 刷题计划】 LeetCode 169. 多数元素 | C++ 哈希表基础解法
c++·leetcode·散列表
米粒112 分钟前
力扣算法刷题 Day 38 (打家劫舍专题)
算法·leetcode·职场和发展
Robot_Nav17 分钟前
RC-ESDF与Lazy Theta* 算法结合进行离线全局路径的生成
算法·全局规划·esdf
papership18 分钟前
【入门级-算法-7、搜索算法:深度优先搜索】
算法·深度优先
山甫aa32 分钟前
哈希集合-----从零开始的数据结构学习
数据结构·算法·哈希算法
say_fall35 分钟前
有关算法的简单数学问题
数据结构·c++·算法·职场和发展·蓝桥杯
Halo_tjn35 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法