链表
文章平均质量分 62
lyx_19961207
这个作者很懒,什么都没留下…
展开
-
反转链表
1.问题描述翻转一个链表样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null2.解题思路3.代码实现/** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next;原创 2017-03-30 23:20:49 · 105 阅读 · 0 评论 -
删除链表中的元素
1.问题描述删除链表中等于给定值val的所有节点。样例给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。2.解题思路3.代码实现/** * Definition for singly-linked list. * struct ListNode { *原创 2017-03-29 22:36:38 · 159 阅读 · 0 评论 -
两两交换链表中的节点
1.问题描述给一个链表,两两交换其中的节点,然后返回交换后的链表。样例给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。2.解题思路3.代码实现/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNod原创 2017-03-30 16:29:23 · 115 阅读 · 0 评论 -
链表插入排序
1.问题描述用插入排序对链表排序样例Given 1->3->2->0->null, return 0->1->2->3->null2.解题思路3.代码实现/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next原创 2017-03-30 23:12:05 · 126 阅读 · 0 评论 -
链表划分
1.问题描述给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。样例给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null2.解题思路3.代码实现/** * Definition of ListNode *原创 2017-03-30 22:58:58 · 179 阅读 · 0 评论 -
合并两个排序链表
1.问题描述将两个排序链表合并为一个新的排序链表样例给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。2.解题思路3.代码实现/** * Definition of ListNode * class ListNode { * public: * int va原创 2017-03-30 22:36:00 · 123 阅读 · 0 评论 -
删除排序链表中的重复元素
1.问题描述给定一个排序链表,删除所有重复的元素每个元素只留下一个。样例给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null2.解题思路3.代码实现/** * Definition of ListNode * class ListNode { * publi原创 2017-03-30 22:26:13 · 142 阅读 · 0 评论 -
删除链表中倒数第n个节点
1.问题描述给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。 注意事项链表中的节点个数大于等于n样例给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.2.解题思路3.代码实现/** * Definition of原创 2017-03-30 22:17:10 · 128 阅读 · 0 评论 -
链表倒数第n个节点
1.问题描述找到单链表倒数第n个节点,保证链表中节点的最少数量为n。样例给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.2.解题思路3.代码实现/** * Definition of ListNode * class ListNode { * public: * int val; * Li原创 2017-03-30 21:57:12 · 144 阅读 · 0 评论 -
在O(1)时间复杂度删除链表节点
1.问题描述给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。样例给定 1->2->3->4,和节点 3,删除 3 之后,链表应该变为 1->2->4。2.解题思路3.代码实现/** * Definition of ListNode * class ListNode { * public: *原创 2017-03-30 17:31:12 · 154 阅读 · 0 评论 -
链表求和
1.问题描述你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。样例给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null2.解题思路两个链表相加后,进位不为零,在下次相加时要加上进位。如果两个链表长原创 2017-03-29 21:05:53 · 160 阅读 · 0 评论 -
链表总结
提交记录:总结感想:在整个做题的过程中,遇到的最多的问题就是最后节点和链表的返回,关键要看对头结点的存储,而且在整个算法的编写过程中要符合逻辑,注意对每个节点的操作,考虑所有可能出现的情况,理清题目的要求。有时候一个题目按正常思路写出来可能会导致复杂度过大,所以要思考其他的方法,这就是算法。整个程序的核心就是算法的思考,然后用编程语言描述出来。原创 2017-03-30 23:29:47 · 139 阅读 · 0 评论