![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
文章平均质量分 55
liumanmanll
其实是个不怎么登录的摆烂
展开
-
链表求和
问题描述: 你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。 样例 给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null /** * Definition for singly-linked list原创 2017-03-29 21:58:52 · 201 阅读 · 0 评论 -
链表插入排序
问题描述: 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null 解题思路: 代码实现: 解题感悟:原创 2017-03-30 23:19:58 · 125 阅读 · 0 评论 -
链表划分
问题描述: 给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。 你应该保留两部分内链表节点原有的相对顺序。 样例 给定链表 1->4->3->2->5->2->null,并且 x=3 返回 1->2->2->4->3->5->null 解题思路: 代码实现: 解题感悟:原创 2017-03-31 20:23:22 · 220 阅读 · 0 评论 -
翻转链表
问题描述: 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 解题思路: 代码实现: /** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next; *原创 2017-03-30 23:25:43 · 160 阅读 · 0 评论 -
合并两个排序链表
问题描述: 将两个排序链表合并为一个新的排序链表 解题思路: 代码实现: 解题感悟:原创 2017-03-30 23:31:53 · 206 阅读 · 0 评论 -
删除链表中的元素
问题描述: 解题思路: 代码实现: 解题原创 2017-03-30 17:30:17 · 163 阅读 · 0 评论 -
删除排序链表中的重复元素
问题描述: 给定一个排序链表,删除所有重复的元素每个元素只留下一个。 给出 1->1->2->null,返回 1->2->null 给出 1->1->2->3->3->null,返回 1->2->3->null 解题思路: 建立两个指针,一个头部开始,一个从尾部开始,如果存在相同元素,则进行覆盖。 代码实现: /** * Definition of L原创 2017-03-30 16:52:03 · 160 阅读 · 0 评论 -
两两交换链表中的节点
问题描述: 给一个链表,两两交换其中的节点,然后返回交换后的链表。 样例 给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。 解题思路:建立两个相邻的指针h1,h2,一个在前一个在后,临时数值t保存h1的元素,完成相邻元素的交换。 代码实现: /** * Definition for singly-linked list. * struct L原创 2017-03-30 17:28:01 · 212 阅读 · 0 评论 -
在o(1)时间复杂度删除链表元素
问题描述: 给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。 样例 给定 1->2->3->4,和节点 3,删除 3 之后,链表应该变为1->2->4。 解题思路: 代码实现: /** * Definition of ListNode * class ListNode { * public: * i原创 2017-03-30 16:27:56 · 540 阅读 · 0 评论 -
链表倒数第n个节点
问题描述: 找到单链表倒数第n个节点,保证链表中节点的最少数量为n。 样例: 给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1. 解题思路: 先计算出链表的长度,再找到倒数第n个节点,返回即可。 代码实现: /** * Definition of ListNode * class ListNode { * public: *原创 2017-03-29 23:41:39 · 210 阅读 · 0 评论 -
删除链表中倒数第n个元素
问题描述: 给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 样例 给出链表1->2->3->4->5->null和 n = 2. 删除倒数第二个节点之后,这个链表将变成1->2->3->5->null. 解题思路: 建立两个指针,使两个指针间隔为n,前一个指针走到NULL时,后一个指针走到倒数第n个节点的位置,这时让倒数第n个节点后面的元素将前一个元素覆盖就原创 2017-03-29 23:21:45 · 266 阅读 · 0 评论 -
链表问题的做题总结
做题之前,要先弄明白题目要求,有时做的题不通过就是因为少考虑了一方面。思路很重要,做题之前一定要有正确的思路,这次做题明显感觉自己的思路不够开阔,有些解决方法连想都想不到,还出现了好多编译错误,就是感觉要加强锻炼。做题过程中需要注意很多问题,比如:最后返回时会丢失数据,判空时考虑得不全面,建立两个指针时会出现逻辑错误,等等。原创 2017-03-31 20:59:52 · 285 阅读 · 0 评论