
链表
heda3
拥有超过10年的嵌入式开发经验,新一代信息技术工程师/人工智能博士,已申请发明专利15项,其中8项成功获批授权,并在中英文期刊上发表多篇高水平学术论文。在嵌入式系统、算法开发与技术管理领域,积累了丰富的实践经验,并持续在技术社区分享在嵌入式驱动、操作系统、上位机软件、算法优化等开发过程中遇到的关键问题、创新解决方案以及深刻的技术洞察。持续跟随行业前沿,探索嵌入式开发中的最新动态与突破性技术,共同推动技术进步与创新!
展开
-
3.输入一个链表,输出该链表中倒数第k个结点。
题目描述输入一个链表,输出该链表中倒数第k个结点。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindKthToTail(ListNode* p...原创 2019-01-16 22:33:30 · 229 阅读 · 0 评论 -
7.找出两个链表的第一个公共结点
题目描述输入两个链表,找出它们的第一个公共结点。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/解法一:/*关键:找出2个链表的长度,然后让长的先走两个链表的长度差,然后再一起走(因为2个链表用公共的尾部NULL...原创 2019-01-29 20:36:17 · 188 阅读 · 0 评论 -
在O(1)时间内删除链表结点(特殊情况)
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:struct ListNode{ int m_nValue;//数据域 ListNode* m_pNext;//指针域};void DeleteNode(ListNode** pListHead,ListNode* pToBeDeleted);分析:此题目...原创 2019-02-12 23:57:41 · 260 阅读 · 0 评论 -
9.删除链表中的重复结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5/*struct ListNode { int val; struct ListNode *next; ListNode(int x) ...原创 2019-01-30 10:15:41 · 156 阅读 · 0 评论 -
6.复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)/*struct RandomListNode { int label; struct RandomListNode *next, *rando...原创 2019-01-26 23:44:36 · 115 阅读 · 0 评论 -
5.输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ...原创 2019-01-20 23:07:01 · 239 阅读 · 0 评论 -
4.输入一个链表,反转链表后,输出新链表的表头
题目描述输入一个链表,反转链表后,输出新链表的表头。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/通过的代码: 修改链表的结构/*struct ListNode { int val; struct ListN...原创 2019-01-18 23:08:07 · 1254 阅读 · 0 评论 -
牛客编程2:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) { * }* };*/...原创 2018-11-04 22:38:20 · 537 阅读 · 0 评论 -
线性表--循环链表、双向链表
上一篇提到的单链表是否能从一个结点出发访问链表的全部结点?上一篇见:线性表----顺序存储、单链表、静态链表https://blog.youkuaiyun.com/heda3/article/details/81437052答案:不能1.为此引出循环链表(单循环链表circular linked list),相比于单链表的区别是将单链表的头尾相连接即可。两种类型:头指针和尾指针尾...原创 2018-10-16 21:33:11 · 406 阅读 · 0 评论 -
线性表----顺序存储、单链表、静态链表
整体框架:余下见下一篇博客:线性表--循环链表、双向链表https://blog.youkuaiyun.com/heda3/article/details/83097671线性表的顺序存储结构一段地址连续的存储单元依次存储的数据元素确定3个要素:一般操作,贯穿整个链表!框架!初始化线性表 InitList(*L)1、线性表清空 ClearList...原创 2018-08-05 23:30:36 · 439 阅读 · 0 评论