4-19 算法思路总结

devtools/2024/9/25 10:36:41/

leetcode 98 验证二叉搜索树

利用递归算法,从上而下递归,遇到false直接返回无需递归到叶子节点,从上往下递归时,传递并改变两个参数,对于当前节点的最大值以及最小值,对于根节点来说,初始化的最大值以及最小值可以为long的MAX_VALUE和MIN_VALUE如果向左走,则更改最大值为当前节点的值,如果向右走则最小值为当前节点的值

leetcode 230 二叉树中第K小的元素

利用中序遍历,第k个被遍历到的元素就是第k小的元素

leetcode 199 二叉树的右视图
利用层序遍历,一次遍历一层的版本,然后把每一层的最后一个节点保存

leetcode 114 二叉树展开为链表

左节点置空,右节点指向左孩子

leetcode 437 路径总和
和求连续子数组等于target的道理是一样的利用前缀和以及hashmap来求子数组等于k的情况记得保存0,1;
由于是二叉树所以存在回溯的情况,而数组无需回溯


http://www.ppmy.cn/devtools/11422.html

相关文章

[docker] 网络连接

[docker] 网络连接 使用 docker 容器会遇到下面 3 种情况: 容器与万维网之间的交流 默认情况下是允许的 从容器到本机的交流 假设有一些服务运行在本机,如数据库,而 docker 需要和本机进行交流去获取数据 这个实现需要配置 容器与容器之间…

CentOS7下安装mysql8或者mysql5.7

mysql8 1、下载 访问mysql官网下载mysql8软件包 https://dev.mysql.com/downloads/mysql/ 选择相应的版本如:RPM Bundle mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar RPM Bundle 8.0.33 下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.…

C#面:阐述什么是泛型委托

泛型委托是 C# 中一种强大的特性,它允许我们定义一个可以接受任意类型参数的委托。 通过泛型委托,我们可以在编写代码时不需要指定具体的参数类型,而是在使用委托时再指定参数类型。 在 C# 中,泛型委托的定义方式与普通委托类似…

虚拟化技术

什么是虚拟化 虚拟化:将应用程序和系统内核资源进行解耦,以操作系统级别进行隔离,目的是提高资源利用率 虚拟化架构 寄居架构 本机(真实的操作系统) ---> 虚拟化产品--->虚拟化操作系统或软件 源生架构 裸金属 服务器 --->虚拟…

​面试经典150题——从前序与中序遍历序列构造二叉树

​ 1. 题目描述 2. 题目分析与解析 二叉树的前序、中序和后序遍历 二叉树的前序、中序和后序遍历是树的三种基本遍历方式,它们是通过不同的顺序来访问树中的节点的。 前序遍历(Pre-order traversal): 访问根节点 前序遍历左子树…

Day 31 贪心算法理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

贪心算法理论基础 ​ 贪心算法的本质:选择每一个阶段的局部最优,从而达到系统的整体最优; ​ 贪心的套路就是没有套路,最好的策略就是举反例,因为大多数时候并不要求严格证明,只需要得到普遍性结论即可&a…

手机号验证码登陆系统设计

设计一个手机号验证码登陆系统通常涉及以下几个关键步骤和组件: 1. 用户界面设计 前端部分 手机号输入框:用户输入其手机号码。 验证码输入框:用户输入接收到的短信验证码。 获取验证码按钮:用户点击后触发发送验证码请求。 …

安卓接收后台数据转模型int默认为double

问题:后台登录接口返回userid(int整型10000),app前端(使用okgo)拿到userid(double类型10000.0);导致app前端进行接下来操作如App中a用户使用userid转字符串后“10000.0”…