day58(1.9)——leetcode面试经典150

230. 二叉搜索树中第 K 小的元素

230. 二叉搜索树中第k小的元素

题目:

题解:

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    private int x = -1;
    private int t = 0;
    public void dfs(TreeNode root, int k) {
        if(root == null || x != -1) {
            return;
        }
        dfs(root.left, k);
        t++;
        if(t==k) {
            x = root.val;
        }
        dfs(root.right, k);
    }


    public int kthSmallest(TreeNode root, int k) {
        dfs(root, k);
        return x;
    }
}
相关推荐
Jerry11 小时前
LeetCode 189. 轮转数组
算法
Jerry11 小时前
LeetCode 739. 每日温度
算法
liang_jy14 小时前
内存管理(二)—— 覆盖与交换
面试·操作系统
触底反弹15 小时前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试
liang_jy15 小时前
内存管理(一)—— 内存管理的概念
面试·操作系统
2601_9545267516 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
叩码以求索17 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
c2385618 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa19 小时前
指针之总结
c语言·笔记·算法
宵时待雨20 小时前
优选算法专题9:哈希表
数据结构·算法·散列表