LeetCode链表专题
文章平均质量分 80
发奋小青年
这个作者很懒,什么都没留下…
展开
-
leetcode24:两两交换相邻的节点
描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而且对于链表的操作,一般都要求操作节点而仅仅是修改节点上的数据。思路: 因为需要操作头结点(head),为了统一过程,需要新建一个表头节点(preHe...原创 2018-04-27 20:56:05 · 2543 阅读 · 1 评论 -
LeetCode27:移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。...原创 2018-05-29 20:18:25 · 2317 阅读 · 0 评论 -
将链表就地逆置
就地逆置带表头结点链表分析: 上体育课时,同学们按个子从高到底站成了一路纵队,可是老师要求从低到高站成一路纵队。第二个发现他比第一个人低,于是就站到第一个人的前面;第三个人发现,他比前两个人都低,于是站到了第一个位置;第四个人发现,他比前三个人都低,他也站到第一个位置。。。。 由此可以看出,就地逆置就是以第一个为基准,不断地将第一个的后面的元素...原创 2017-06-20 00:08:30 · 401 阅读 · 0 评论 -
两个单向链表的第一个公共结点
leetcode160:相交链表题目:编写一个程序,找到两个单链表相交的起始节点实例:A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3思路:因为链表是单向链表,所...原创 2018-08-01 08:44:31 · 817 阅读 · 0 评论 -
删除倒数第K个节点
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.思考: 链表因为其特殊的结构,在操作链表的时候最常见的就是使用多种指针操作,对于这个问题使用两个指针就可以搞定了,具体的思路如下图所以...原创 2018-08-01 08:52:30 · 1287 阅读 · 0 评论