链表
heda3
从事嵌入式开发10年+,国内某一流研究所的研究生,新一代信息技术工程师职称,申请撰写发明专利15项/授权8项,发表中英文期刊2篇。目前从事嵌入式系统、算法开发及管理,持续分享嵌入式驱动、操作系统、上位机软件、算法等开发过程中遇到的问题、解决方法及知识点
展开
-
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 · 214 阅读 · 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 · 167 阅读 · 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 · 231 阅读 · 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 · 140 阅读 · 0 评论 -
6.复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)/*struct RandomListNode { int label; struct RandomListNode *next, *rando...原创 2019-01-26 23:44:36 · 99 阅读 · 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 · 219 阅读 · 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 · 1235 阅读 · 0 评论 -
牛客编程2:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) { * }* };*/...原创 2018-11-04 22:38:20 · 491 阅读 · 0 评论 -
线性表--循环链表、双向链表
上一篇提到的单链表是否能从一个结点出发访问链表的全部结点?上一篇见:线性表----顺序存储、单链表、静态链表https://blog.csdn.net/heda3/article/details/81437052答案:不能1.为此引出循环链表(单循环链表circular linked list),相比于单链表的区别是将单链表的头尾相连接即可。两种类型:头指针和尾指针尾...原创 2018-10-16 21:33:11 · 383 阅读 · 0 评论 -
线性表----顺序存储、单链表、静态链表
整体框架:余下见下一篇博客:线性表--循环链表、双向链表https://blog.csdn.net/heda3/article/details/83097671线性表的顺序存储结构一段地址连续的存储单元依次存储的数据元素确定3个要素:一般操作,贯穿整个链表!框架!初始化线性表 InitList(*L)1、线性表清空 ClearList...原创 2018-08-05 23:30:36 · 417 阅读 · 0 评论