文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ76:删除链表中重复的结点(数据结构-链表)

题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表 1->2->3->3->4->4->5  处理后为 1->2->5数据范围:链表长度满足 1<=n<=1000 ,链表中的值满足 1<=nval<=1000进阶:空间复杂度O(n)  ,....

剑指offer(C++)-JZ76:删除链表中重复的结点(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ35:复杂链表的复制(数据结构-链表)

题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。 下图是一个含有5个结点的复杂链表。图中实线箭头表示next指针,虚线箭头表示random指针。为简单起见,指向null的指针没有画出。示例:输入:{1....

剑指offer(C++)-JZ35:复杂链表的复制(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ22:链表中倒数最后k个结点(数据结构-链表)

题目描述:输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。数据范围:0<=n<=10^5,0<=ai<=10^9,0<=k<=10^9要求:空间复杂度O(n),时间复杂度O(n)进阶:空间复杂度O(1),时间复杂度O(n)例如输入{1,2,3,4,5},2时,对应的链表结....

剑指offer(C++)-JZ22:链表中倒数最后k个结点(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ23:链表中环的入口结点(数据结构-链表)

题目描述:给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围: n≤10000,1<=结点值<=10000要求:空间复杂度 O(1),时间复杂度 O(n)例如,输入{1,2},{3,4,5}时,对应的环形链表如下图所示:给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围: n≤10000,1<=结点....

剑指offer(C++)-JZ23:链表中环的入口结点(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ52:两个链表的第一个公共结点(数据结构-链表)

题目描述:输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: n<=1000要求:空间复杂度 O(1),时间复杂度 O(n)例如,输入{1,2,3},{4,5},{6,7}时,两个无环的单向链表的结构如下图所示:可以看到它们的第一个公共结点的结点值为6,所以返回结点....

剑指offer(C++)-JZ52:两个链表的第一个公共结点(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ25:合并两个排序的链表(数据结构-链表)

题目描述:输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: n为0~1000,节点值为-1000~1000要求:空间复杂度 O(1),时间复杂度 O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:或输入{-1,2,4},{1,3,4}时,合并....

剑指offer(C++)-JZ25:合并两个排序的链表(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ24:反转链表(数据结构-链表)

题目描述:给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。数据范围: n小于等于1000要求:空间复杂度 O(1),时间复杂度 O(n)如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:示例:输入:{1,2,3}返回值:{3,2,1}解题思路:本题考察数据结构链表的使用。有两种解法:结合vecto....

剑指offer(C++)-JZ24:反转链表(数据结构-链表)
文章 2023-10-18 来自:开发者社区

剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)

题目描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例:输入:{1,2,3}返回值:[3,2,1]解题思路:本题考察数据结构链表的使用。可使用vector容器对链表数据进行存储,并用reverse翻转即可。测试代码:/** * struct ListN.....

剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)
文章 2023-09-20 来自:开发者社区

剑指offer-8.用两个栈实现队列

为了方便系统性理解。设置有剑指offer专栏(已经全部写完)http://t.csdn.cn/5dsyA有问题可以留言,或者私聊博主。题目 题解1: 代码1: 

剑指offer-8.用两个栈实现队列
文章 2023-07-07 来自:开发者社区

【剑指offer】JZ7 重建二叉树、JZ9 用两个栈实现队列

\描述: 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。思路:题上给了我们前序遍历(根 左 右)和中序遍历(左 根 右),因为前序遍历先遍历根,故可以通过前序遍历确定根,再由中序遍历确定根的左右子树是什么.循环往复(递归),直到整个树....

【剑指offer】JZ7 重建二叉树、JZ9 用两个栈实现队列

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等