当前位置: 首页 > news >正文

LeetCode 解题思路 22(Hot 100)

在这里插入图片描述

解题思路:

  1. 递归思路: 传入当前节点的最小值和最大值,递归判断左右子树。
  2. 结束条件: 当前节点为空或不满足二叉搜索树。

Java代码:

class Solution {
    public boolean isValidBST(TreeNode root) {
        return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE);
    }

    public boolean isValidBST(TreeNode node, long lower, long upper) {
        if (node == null) return true;
        if (node.val <= lower || node.val >= upper) return false;
        return isValidBST(node.left, lower, node.val) && isValidBST(node.right, node.val, upper);
    }
}

复杂度分析:

  • 时间复杂度: O(n),其中 n 是二叉树的节点数。每个节点恰好被访问一次。
  • 空间复杂度: O(h),其中 h 是二叉树的高度。空间复杂度主要由递归调用栈的深度决定,最坏情况下(树退化为链表)为O(n),平衡树情况下为O(logn)。

在这里插入图片描述

解题思路:

  1. 中序遍历: 先递归遍历左子树,再处理当前节点,最后遍历右子树。
  2. 递减 k: 每次访问节点时,将 k 减 1。当 k 减至 0 时,当前节点即为第 k 小的元素。
  3. 提前终止: 一旦找到第 k 小的元素,后续递归调用会因 k == 0 直接返回,避免多余遍历。

Java代码:

class Solution {
    int result, k;

    private void dfs(TreeNode root) {
        if (root == null) return;
        
        dfs(root.left);
        if (--k == 0) result = root.val;
        dfs(root.right);
    }

    public int kthSmallest(TreeNode root, int k) {
        this.k = k;
        dfs(root);
        return result;
    }
}

复杂度分析:

  • 时间复杂度: O(k),最坏情况下需要访问前 k 个节点。
  • 空间复杂度: O(h),h 为树的高度。

相关文章:

  • 9.嗅探与Wireshark进阶分析
  • 使用Python在Word中创建、读取和删除列表 - 详解
  • DeepSeek接入多模态,个人电脑也能飞速生成高清图,确实可以封神了!
  • 目前主要虚拟世界平台在单一实例承载人数和伺服器架构的综合比较分析(从开资料和技术推估):
  • 寄存器(内部访问)
  • WordPress靶场攻略
  • 微服务》》Kubernetes (K8S) 集群配置网络》》Calico
  • deepseek使用记录24——小灵
  • docker、docker-compose常用命令
  • Java 实现排序算法 TopK 问题
  • AcWing 839:模拟堆 ← multiset + unordered_map
  • 4.玩转热图(续:矩阵式网络关系热图、Pivot Table 热图、三维/交互式热图)——Python数据挖掘代码实践
  • 2025年优化算法:人工旅鼠算法(Artificial lemming algorithm,ALA)
  • Devops之Docker:Docker入门
  • Pandas数据分析
  • 深入解析 Service Worker 在 Chrome 扩展中的应用
  • redis,tar.gz安装后,接入systemctl报错解决
  • ESP32 BLE 初步学习笔记
  • 嵌入式C语言进阶(四)指针
  • NO.51十六届蓝桥杯备战|堆算法题|第k小|除2|最小函数值|序列合并|舞蹈课(C++)
  • 香港新股市场繁荣:恒瑞医药等4公司同时招股,宁德时代今日港交所上市
  • 中国首次当选联合国教科文组织1970年《公约》缔约国大会主席国
  • 前四月国家铁路发送货物12.99亿吨,同比增长3.6%
  • 取得金奖西瓜品种独家使用权的上海金山,为何要到异地“试种”?
  • 意德首脑会谈,梅洛尼警告欧盟绿色政策面临“工业荒漠化”
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与明代造船工艺间