链表
SmileLily0202
人不要忘记自己年轻时候的梦想
展开
-
剑指offer-反转链表
题目描述:输入一个链表,反转链表后,输出新链表的表头。##剑指offer里的测试输入数据是链表类型# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回Lis...原创 2019-04-13 15:10:49 · 128 阅读 · 0 评论 -
剑指offer-链表中倒数第k个节点
题目描述:输入一个链表,输出该链表中倒数第k个结点# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindKthToTail(self, head, k):...原创 2019-04-13 15:07:43 · 100 阅读 · 0 评论 -
剑指offer-删除链表中重复的结点
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# se...原创 2019-04-16 13:11:23 · 115 阅读 · 0 评论 -
剑指offer-从尾到头打印链表
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。思路:遍历链表,顺序存放在列表中,再逆序输出列表即可# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solut...原创 2019-04-13 15:24:40 · 94 阅读 · 0 评论 -
链表的各种问题集合-Python
1.单链表数据结构(后续每个程序开始均需先定义单链表结构,我就省略不重复写了)class LNode(object): def __new__(self,x): #数据域 self.data =x #链接域 self.next =None2.根据输入利用循环构建单链表,针对输入数据不是链表的问题,这里假设输入是列表...原创 2019-04-16 13:16:01 · 427 阅读 · 0 评论 -
剑指offer-合并两个排序的链表
题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。递归版本:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: ...原创 2019-04-14 13:35:30 · 89 阅读 · 0 评论 -
剑指offer-链表中环的入口结点
题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null思路:先通过快慢指针法判断链表是否存在环,此时只需要把其中的一个指针重新指向链表头部,另一个不变(还在环内),这次两个指针一次走一步,相遇的地方就是入口节点。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...原创 2019-04-14 14:13:36 · 75 阅读 · 0 评论 -
剑指offer-复杂链表的复制
题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:第一步:在原有链表的基础上复制结点,将结点复制到原结点的后面 第二步:复制随机结点 第三步:将新旧链表分离# -*- coding:utf-8 -...原创 2019-05-10 15:37:34 · 97 阅读 · 0 评论