![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
fairy净
这个作者很懒,什么都没留下…
展开
-
leetcode 21 合并两个有序链表
def mergeTwoLists(self, l1, l2): ''' 新建一个链表,头指针保存,用来存储新的有序链表 ''' if not l1 and not l2: return None head = ListNode(0) ###定义链表的头指针 first = ...原创 2018-10-03 16:59:55 · 398 阅读 · 0 评论 -
leetcode 148对链表进行排序
def sortList(self, head): ''' 1. 先把单链表的值存起来排序, 2. 再生成有序链表 ''' listL = [] p = cur = head while cur: listL.append(cur.val) ...原创 2018-10-03 17:28:19 · 80 阅读 · 0 评论 -
leetcode147对链表进行插入排序
def insertionSortList(self, head): """ 对链表进行插入排序,单链表没有前驱指针只能从前往后,添加一个辅助有序链表,依次从前比较 """ new_head = ListNode(0) ###新链表的头指针 new_t = new_head cur = head ...原创 2018-10-03 20:26:19 · 201 阅读 · 0 评论 -
leetcode445. 两数相加 II---头插法
头插法: 每次插入节点从头节点插入 尾插法: 每次插入节点从尾节点插入 def addTwoNumbers(self, l1, l2): """ 注意 1.初始化的是头节点,最后的结果要返回头节点的next 2.节点的插入的时候注意顺序,箭头指向哪个哪个在等号的右边 主要思想是头插法构建链表 ...原创 2018-10-03 21:37:25 · 636 阅读 · 0 评论 -
leetcode160. 相交链表
def getIntersectionNode(self, headA, headB): """ 核心是理解相交链表的定义:如果相交后面的链表相等即是同一个 """ l1,l2 = self.len(headA),self.len(headB) n = l1 - l2 if n > 0:###...原创 2018-10-03 22:05:55 · 119 阅读 · 0 评论 -
leetcode19 删除倒数第n个节点
def removeNthFromEnd(self, head, n): """ 定义两个指针,表示两个元素的间隔,间隔大小固定为n-1,两个指针分别为pre,end """ pre = head end = head for _ in range(n): end = end....转载 2018-10-03 22:48:19 · 92 阅读 · 0 评论 -
leetcode206反转链表 & 92反转链表II
def reverseList(self, head): """ 头插法 """ first = ListNode(0) ###新建链表的头指针 p = first ###保存头指针用于最后返回 while head: t = head.next he...原创 2018-10-04 16:51:08 · 82 阅读 · 0 评论 -
leetcode141. 环形链表 & 142 环形链表 II
def hasCycle(self, head): """ 注意边界越界的问题 设置一个快指针和慢指针,慢指针和快指针相遇就存在环,如果有存在节点的next为None的情况没有环。 """ if not head: return False if not head.next o...原创 2018-10-04 19:05:38 · 110 阅读 · 0 评论