刷爆手撕leetcode所有题目
文章平均质量分 68
致力于从多角度,多方法解读leetcode中的题,以利于更好地理解解题思路
爱喝奶茶的福星小王子666
学习并分享编程相关的经验
展开
-
两个leetcode题
因此,在处理完当前层级的所有节点后,q.size()表示的是下一层级的节点数量。当我们调用q.front()来获取队列前面的节点时,这个节点属于当前层级的节点,而不是下一层级的节点。总的来说,q.size()之所以在处理完当前层级后表示下一层级的节点数量,是因为我们使用队列来进行广度优先搜索,按照层级顺序处理节点,并在处理完当前层级的节点后将其从队列中移除,并将下一层级的节点压入队列中。现在,让我们解释一下为什么在处理完当前层级的节点后,q.size()表示的是下一层级的节点数量。原创 2023-12-14 10:21:40 · 344 阅读 · 1 评论 -
如何用leetcode中经常出现的注释代码初始化二叉树
通过struct中Node(int x,Node*left,Node*right ):val(x),left(left),right(right){}初始化。通过Node(int x):val(x),left(NULL),right(NULL){}初始化二叉树。当我们引用Node()时val的值自动赋值为0,当然我们也可以修改它,左右节点都赋为空。运算符用于动态地创建对象,而静态类型(例如int,float等)的变量不能使用。如何理解leetcode题目中经常出现的几行注释代码,并用这个初始化二叉树。原创 2023-12-11 14:23:02 · 393 阅读 · 1 评论 -
对leetcode上一个非常简单的二叉树中序遍历细节展示每一个过程以便更好理解
我们首先来看看leetcode官方解题思路:每次访问到最左节点时,他的root-left都是空的,那我们就把root指向最左子节点的右节点,如果不是空返回上面函数while (root!= NULL ||!std.empty())继续遍历最左子树,如果为空root指向最左子节点的上一个节点的右节点以此为根节点,在运行while (root!因此每次都是先找到一个根节点,以此为基础先访问最左子树,在指向一个右节点为根节点如此循环。现在我们细节展示每一个过程,当然这个过程只适合题中二叉树的形式。原创 2023-12-10 21:21:25 · 356 阅读 · 0 评论 -
用一个经典思路解决leetcode中简化路径问题
力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台。原创 2023-12-06 20:21:16 · 1962 阅读 · 1 评论 -
合并K个排序链表(对力扣官方题解做一个小改变)
如果有两个或更多的链表,那么这些链表将被逐步合并,直到只剩一个合并后的链表,这个链表的头节点最后会被返回。这个函数的主要目标可能是将输入的多个链表进行合并,最后返回合并后链表的头节点。这个过程会一直进行,直到所有的链表都被合并成一个单一的有序链表。最后,返回这个有序链表的头节点。,然后通过比较两个链表的当前节点的值,选择较小的节点添加到新的链表中。在最后的步骤中,将剩余的节点(如果存在)添加到新链表的末尾。类型的指针,也就是说,这些指针指向的是链表的节点。这个指针将用来存储合并后的链表的头节点。原创 2023-12-03 14:54:43 · 879 阅读 · 2 评论