
数据结构OJ篇
文章平均质量分 91
对LeetCode和nowcoder中经典的、在面试中常见的题目进行解析
Nala_粥粥
这个作者很懒,什么都没留下…
展开
-
第十四期——另一棵树的子树 二叉树遍历
数据结构第十四期——另一棵树的子树和二叉树的遍历,二叉树是数据结构中的一种重要结构,是考试或者面试中经常遇到的经典问题,通过练习掌握二叉树的结构并熟练运用是很有必要的。原创 2025-03-09 10:00:00 · 905 阅读 · 0 评论 -
第十三期——相同的树 对称二叉树 翻转二叉树
数据结构第十三期——二叉树,二叉树是数据结构中一种重要的结构,判断两棵二叉树是否为相同二叉树,对一棵二叉树进行翻转以及判断一棵二叉树是否是对称结构等问题都是有关二叉树的经典问题。原创 2025-03-07 10:30:00 · 913 阅读 · 0 评论 -
第十二期——二叉树
数据结构第十二期——二叉树,二叉树是数据结构中一种重要的数据存储结构,对二叉树进行前序遍历是在使用这种结构是必不可少的操作。同时,求二叉树的最大深度和判断一棵树是否为单值二叉树等相关操作都是十分重要的。原创 2025-03-06 10:30:00 · 468 阅读 · 0 评论 -
第十一期——设计循环队列
数据结构刷题第十一期——设计环形队列。题目:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。原创 2025-02-27 09:30:00 · 560 阅读 · 0 评论 -
第十期——用栈实现队列
数据结构第十期——用栈实现队列:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty),用栈实现入队操作很容易,由于栈只允许在固定的一端进行插入和删除元素操作,而队列只允许在一端进行插入数据操作,所以我们用第一个栈来入队,用第二个栈来出队,当第二个栈为空的时候,将第一个栈中的元素倒到第二个栈中。原创 2025-02-26 14:30:00 · 795 阅读 · 0 评论 -
第九期——用队列实现栈
数据结构第九期——用队列实现栈:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。两个队列保持一个为空,向不为空的队列插入元素,如果想要删除元素,就用空的队列来倒元素。原创 2025-02-25 14:30:00 · 709 阅读 · 0 评论 -
第八期——随机链表的复制
数据结构刷题第八期——随机链表的复制。给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。原创 2025-02-24 14:30:00 · 819 阅读 · 0 评论 -
第七期——环形链表2
数据结构第七期:环形链表。环形链表是面试和考试中经常遇到的问题,应该如何判断一个链表是否带环?如果链表带环,能否找到链表进入环结构的第一个节点?本期提供两种思路找到链表进入环的第一个节点,一种是公式法,一种是转换法。原创 2025-02-23 14:30:00 · 530 阅读 · 0 评论 -
第六期——nowcoder 链表分割 相交链表
数据结构刷题篇第六期——熟悉了单链表的结构之后,我们会经常遇到相交链表、环形链表,那么我们应该如何判读两个链表是否相交,或者一个链表是否有环呢?仔细思考我们发现,如果两个链表相交,那么它们一定有相同的尾节点,所以我们通过判断两个链表的尾节点是否相同就可以判断这两个链表是否相交了;对于环形链表来说,我们需要使用快慢指针来判断链表是否存在环结构。原创 2025-02-22 14:30:00 · 540 阅读 · 0 评论 -
第五期——LeetCode 876链表的中间节点 面试题02.02返回倒数第k个节点 206反转链表 nowcoderOR36 链表的回文结构
数据结构算法刷题篇第五期,四道经典问题帮助理解单链表的结构特点,并运用指针对单链表进行操作。包括通过使用快慢指针快速找到单链表的中间节点和单链表的倒数第k个节点,运用三指针实现单链表的反转,并结合这两种方法判断链表的回文结构原创 2025-02-21 09:30:00 · 818 阅读 · 0 评论 -
第一、二、三期——LeetCode 26删除有序数组中的重复项(面试题)17.04消失的数字 88合并两个有序数组
数组nums包含从0到n的所有整数,但其中缺了一个,如何找到nums数组中缺少的数字?本期提供两种方法解决问题:因为nums中包含了从0到n的所有整数,所以nums数组中所有数字的和是已知的,而从0到n的所有整数的和也是已知的,我们再将两者求得的和相减,就可以知道缺了那个数字;把数组nums的所有元素和从0到n的所有整数都异或在一起,最终的结果就是只出现了一次的数字,而这个数字就是nums中缺少的数字。原创 2025-02-20 09:30:00 · 578 阅读 · 0 评论 -
第四期——LeetCode 203移除链表元素 21合并两个有序链表
数据结构算法刷题篇第四期:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的,这是链表中的一个经典问题,学习了单链表的结构之后你会发现,这道题的本质其实就是建立一个新的链表并对新链表进行尾插,通过本期内容可以更熟练的了解单链表的数据结构。原创 2025-02-20 14:30:00 · 1772 阅读 · 0 评论