6.21-二叉搜索树的最近公共祖先235. 二叉搜索树的最近公共祖先题意描述: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] 2024-06-21 代码随想录 #LEECODE
6.20-合并二叉树617.合并二叉树题意描述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树。 注意: 合并过程必须从两个树的根节点开始 2024-06-20 代码随想录 #LEECODE
6.19-左叶子之和404.左叶子之和题意描述: 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 123输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 示例 2: 12输入: root = [1]输出: 0 提示: 节点数在 [1, 1000] 范围内 -1000 <= Node 2024-06-19 代码随想录 #LEECODE
6.17-对称二叉树101. 对称二叉树题意描述: 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 12输入:root = [1,2,2,3,4,4,3]输出:true 示例 2: 12输入:root = [1,2,2,null,3,null,3]输出:false 提示: 树中节点数目在范围 [1, 1000] 内 -100 <= Node.val <= 100 进阶:你可以 2024-06-17 代码随想录 #LEECODE
6.16-二叉树的层序遍历429.N叉树的层序遍历题意描述: 给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 思路: AC代码:1234567891011121314151617181920212223class Solution {public: vector<vector<in 2024-06-16 代码随想录 #LEECODE
6.14-二叉树题目分类题目分类大纲如下: 二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。 完全二叉树 什么是完全二叉树? 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能 2024-06-14 代码随想录 #LEECODE
6.13-栈和队列基础知识 首先大家要知道 栈和队列是STL(C++标准库)里面的两个数据结构。 C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。 那么来介绍一下,三个最为普遍的STL版本: HP STL 其他版本的C++ STL,一般是以HP STL为蓝本实现出来的,HP STL是C++ STL的第一个实现版本,而且开放源代码。 P.J.Plauger STL 由 2024-06-13 代码随想录 #LEECODE
6.12-双指针27. 移除元素题意描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的 2024-06-12 代码随想录 #LEECODE
6.10/6.11-字符串344.反转字符串题意描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 原地算法(in-place algorithm)是一种使用小的,固定数量的额外之空间来转换资料的算法。即空间复杂度要求o(1)。 示例 1: 12输入:s = ["h","e","l", 2024-06-10 代码随想录 #LEECODE
6.8-哈希表(续)1. 两数之和题意描述: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 123输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nu 2024-06-08 代码随想录 #LEECODE