力扣labuladong一刷day34天

力扣labuladong一刷day34天

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

题目链接:https://leetcode.cn/problems/kth-smallest-element-in-a-bst/?utm_source=LCUS&utm_medium=ip_redirect&utm_campaign=transfer2china
思路:这是一道很基础的利用二叉搜索树特性的题目,中序遍历二叉搜索树就会得到一个递增的序列,这个题直接计数相等记录下来即可

class Solution {
   
   int i = 1, value = 0;
    public int kthSmallest(TreeNode root, int k) {
   
        traverse(root, k);
        return value;
    }

    void traverse(TreeNode root, int k) {
   
        if (root == null) return;
        traverse(root.left, k);
        if (i == k) {
   
            value = root.val;
        }
        i++;
        traverse(root.right, k);   
    }
}

二、538. 把二叉搜索树转换为累加树

题目链接:https://leetcode.cn/problems/convert-bst-to-greater-tree/
思路:本题让把二叉搜索树变成累加树,每个节点的值变成大于他的值与他的和,那这样做的话,中序遍历最后的位置的一个数是最大的,也就是他自身,倒数第二个数是自身值与倒数第一的和,这样我们只需要把中序遍历的顺序颠倒一下,先遍历right再遍历left,然后用一个p指针记录上一个遍历过的节点,这样就可以完成累加。

class Solution {
   
   TreeNode p = null;
    public TreeNode convertBST(TreeNode root) {
   
        traverse(root);
        return root;
    }
    
    void traverse(TreeNode root) {
   
        if (root == null) return;
        traverse(root.right);
        if (p == null) {
   
            p = root;
        }else {
   
            root.val += p.val;
            p = root;
        }
        traverse(root.left);
    }
}

相关推荐

  1. labuladongday34

    2023-12-11 19:12:05       41 阅读
  2. labuladongday35

    2023-12-11 19:12:05       28 阅读
  3. labuladongday36

    2023-12-11 19:12:05       46 阅读
  4. labuladongday52LRU算法

    2023-12-11 19:12:05       39 阅读
  5. labuladongday53LFU 算法

    2023-12-11 19:12:05       44 阅读
  6. labuladongday59动态规划

    2023-12-11 19:12:05       26 阅读
  7. labuladongday30二叉树

    2023-12-11 19:12:05       35 阅读
  8. labuladongday32二叉树

    2023-12-11 19:12:05       41 阅读
  9. labuladongday31二叉树

    2023-12-11 19:12:05       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 19:12:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 19:12:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 19:12:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 19:12:05       20 阅读

热门阅读

  1. ubuntu apt指令集学习心得

    2023-12-11 19:12:05       31 阅读
  2. 动态规划算法介绍

    2023-12-11 19:12:05       68 阅读
  3. Oracle中decode函数使用

    2023-12-11 19:12:05       33 阅读
  4. MySQL面试

    2023-12-11 19:12:05       38 阅读
  5. 【redis笔记】分布式锁

    2023-12-11 19:12:05       39 阅读
  6. 理解Go语言中的defer

    2023-12-11 19:12:05       40 阅读
  7. 初次参加软考就想报高级,哪个相对容易考?

    2023-12-11 19:12:05       57 阅读
  8. C++可以函数重载而C不可以的原因

    2023-12-11 19:12:05       39 阅读
  9. Springboot 集成 RocketMq5+ (gRPC 协议)

    2023-12-11 19:12:05       65 阅读
  10. 8-Hive原理与技术

    2023-12-11 19:12:05       35 阅读
  11. 【影像组学入门百问】1#---#3

    2023-12-11 19:12:05       56 阅读