![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构链表
每天都要努力学习的阿果
这个作者很懒,什么都没留下…
展开
-
链表求和问题
题目 :你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。您在真实的面试中是否遇到过这个题? Yes思路:说实话,一开始我没看懂什么意思,后来想了半天才明白,这道题不难,我一开始写了个死循环,忘了l1=l1->nex原创 2017-03-31 14:22:18 · 373 阅读 · 0 评论 -
翻转链表
题目:翻转一个链表您在真实的面试中是否遇到过这个题? Yes样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null思路: 从第一个结点开始,每个结点的后继都改为前驱,一直到最后一个结点就可以,就是第一个结点要注意,他的后继为NULL了。代码:/**原创 2017-03-31 16:58:53 · 403 阅读 · 0 评论 -
返回倒数第n个结点的值
题目:找到单链表倒数第n个节点,保证链表中节点的最少数量为n。您在真实的面试中是否遇到过这个题? Yes样例给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.思路:这道题是那道删除链表倒数第n个结点的简化版,这个不用删除,直接返回就可以,代码如下。代码:/** * Def原创 2017-03-31 16:51:11 · 358 阅读 · 0 评论 -
链表划分
题目:给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。您在真实的面试中是否遇到过这个题? Yes样例给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null思路:一开原创 2017-03-31 16:41:48 · 449 阅读 · 0 评论 -
删除链表中重复的元素
题目:给定一个排序链表,删除所有重复的元素每个元素只留下一个。您在真实的面试中是否遇到过这个题? Yes样例给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null思路:题目简单,从头遍历,如果head->val=head->ne原创 2017-03-31 15:32:42 · 362 阅读 · 0 评论 -
合并两个排序链表
题目:将两个排序链表合并为一个新的排序链表您在真实的面试中是否遇到过这个题? Yes样例给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。思路: 首先判断极端情况,即l1=null或l2=null的情况,然后判断两个链表的第一个数谁小,谁原创 2017-03-31 15:31:10 · 244 阅读 · 0 评论 -
链表插入排序
题目:用插入排序对链表排序您在真实的面试中是否遇到过这个题? Yes样例Given 1->3->2->0->null, return 0->1->2->3->null思路:首先申请一个dummy,先拿一个数(这个数前面是已经排好序的),看后面的数是不是比它小,比它小的放到它前面(初始化node等于dummy,对原创 2017-03-31 15:21:13 · 265 阅读 · 0 评论 -
删除链表中倒数第n个结点
题目:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项链表中的节点个数大于等于n您在真实的面试中是否遇到过这个题? Yes样例给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.原创 2017-03-31 15:01:36 · 329 阅读 · 0 评论 -
在o(1)复杂度内删除结点
题目:给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。您在真实的面试中是否遇到过这个题? Yes样例给定 1->2->3->4,和节点 3,删除 3 之后,链表应该变为 1->2->4。思路:这道题我想过把链表改成循环链表操作,因为没有头结点,但是随之问题的解决,时间复杂原创 2017-03-31 15:00:25 · 479 阅读 · 0 评论 -
两两交换链表中的结点
题目:给一个链表,两两交换其中的节点,然后返回交换后的链表。您在真实的面试中是否遇到过这个题? Yes样例给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。思路:我一开始想的是分成两个链表进行操作,十分方便,但是提交时记着好像是超时,所以我就又换了种算法,两两交换位置,此题原创 2017-03-31 14:45:26 · 443 阅读 · 0 评论 -
数据结构链表题目总结
提交记录:感想:学习完链表后,我就感觉它的用处一定会很大,做完这些题后,我的感触就更加深刻了,我发现他能解决原来好多不能解决的问题,比如说它可以在实现数组的功能的同时,还能够节约空间,因为数组大小是死的,只能一口气申请很大的空间,而链表却是活的,且他的位置是不需要外加条件来约束的。另外,这十个链表题真的是让我脑洞大开,不过只有自己真的思前想后又想不出来才能有这份原创 2017-03-31 17:08:19 · 337 阅读 · 0 评论