链表
青柠17
这个作者很懒,什么都没留下…
展开
-
链表 206. 反转链表 147. 对链表进行插入排序 148. 排序链表(归并排序)
206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路:双指针迭代 申请两个指针pre和cur,将cur指针指向pre,同时将两个指针一起向前移动。 迭代完成时,cur=None,此时pre即为链表头部。 代码实现: class Sol...原创 2020-03-12 12:57:57 · 105 阅读 · 0 评论 -
链表 876. 链表的中间结点 2. 两数相加
2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 ->...原创 2020-03-12 12:57:19 · 87 阅读 · 0 评论 -
链表 83. 删除排序链表中的重复元素 203. 移除链表元素 19. 删除链表的倒数第N个节点
83. 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例: 输入: 1->1->2->3->3 输出: 1->2->3 思路:双指针方式 考虑特殊情况——链表为空,直接返回。 使用cur和l两个指针,cur指针不断往前走,当cur指针和l指针的元素相等时啥都不做;不等时,将此时的cur作为l指针的next,然...原创 2020-03-09 23:36:30 · 90 阅读 · 0 评论 -
链表 160.相交链表 21.合并两个有序链表 24. 两两交换链表中的节点
160. 相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 思路:双指针方式 将a和b两个链表串联起来,将b链表的尾巴指向a节点的头部,将a节点的尾巴指向b链表的头部。 定义两个指针,一个从a链表头出发,一个从b链表头出发,因为是环形的,最终两个链表会相遇,而相遇的节点就是相交的节点。 代码实现: class Solution(object): def get...原创 2020-02-29 23:30:42 · 156 阅读 · 0 评论