
leetCode
digitaluser
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
经典算法恢复二叉搜索树
1、题目描述 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例 1: 示例 2: 进阶: 使用 O(n) 空间复杂度的解法很容易实现。 你能想出一个只使用常数空间的解决方案吗? 2、我的代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * ...原创 2020-05-07 13:49:08 · 305 阅读 · 0 评论 -
经典算法序列化和反序列化二叉搜索树
1、题目描述 序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。 设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。 编码的字符串应尽可能紧凑。 注意:不要使用类成员/全局/静态...原创 2020-05-05 21:25:59 · 236 阅读 · 0 评论 -
经典算法删除二叉搜索树中的节点
1、题目描述 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删除它。 说明: 要求算法时间复杂度为 O(h),h 为树的高度。 示例: 2、我的代码 /** * Definition for a ...原创 2020-05-04 20:22:45 · 493 阅读 · 0 评论 -
经典算法二叉搜索树中第k小的元素
1、题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 进阶: 如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数? 2、我的代码 /** * Definition for a binary tree ...原创 2020-05-02 18:53:30 · 582 阅读 · 0 评论 -
经典算法不同的二叉搜索树
1、题目描述 给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ 3 2 1 1 3 2 / / ...原创 2020-05-02 18:07:22 · 501 阅读 · 0 评论 -
经典算法将有序数组转成二叉搜索树
1、题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 2、我的代码 ...原创 2020-04-28 17:24:59 · 320 阅读 · 0 评论 -
经典算法验证二叉搜索树
1、题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / 1 3 输出: true 示例 2: 输入: 5 / 1 4 / 3 6 输出: false 解释: 输入为: [5,1,4,null...原创 2020-04-28 15:44:06 · 228 阅读 · 0 评论 -
经典算法电话号码的字母组合
1、题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 来源:力扣(LeetCod...原创 2020-04-22 17:48:19 · 881 阅读 · 0 评论 -
经典算法正则表达式匹配
1、题目描述 2、我的代码 class Solution{ public: bool isMatch(string s, string p) { int len_src = s.length(); int len_gui = p.length(); bool first_match = false; if(len_gui == 0) ...原创 2020-04-21 23:06:41 · 265 阅读 · 0 评论 -
经典算法前序遍历二叉树
1、题目描述 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2、我的代码 /** Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; Tree...原创 2020-04-19 17:23:41 · 371 阅读 · 0 评论 -
经典算法中序遍历二叉树
1、题目描述 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 2、我的代码 /** Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeN...原创 2020-04-19 16:20:53 · 212 阅读 · 0 评论 -
经典算法二叉搜索树迭代器
1、题目描述 实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。 调用 next() 将返回二叉搜索树中的下一个最小的数。 示例: BSTIterator iterator = new BSTIterator(root); iterator.next(); // 返回 3 iterator.next(); // 返回 7 iterator.hasNext(); // ...原创 2020-04-18 22:59:19 · 212 阅读 · 0 评论 -
经典算法无重复字符的最长子串
无重复字符的最长子串 1、题目描述: 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复...原创 2020-04-17 20:13:13 · 171 阅读 · 0 评论