链表
一颗随风而倒的墙头草
这个作者很懒,什么都没留下…
展开
-
【LeetCode】24.两两交换链表中的节点(python 版)
题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 思路: 方法一: 迭代方法:基础的三指针法,分别指向需要交换的两个节点和它们的前一个节点,注意节点交换时各个链的连接顺序。因为头结点会与下一个节点...原创 2020-05-13 20:53:56 · 463 阅读 · 0 评论 -
【LeetCode】23.合并 K 个排序链表(python版)
题目描述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 思路: 这个题是简单难度的《合并两个排序链表》的加强版。 方法一: 一个很容易想的思路是:先合并前两个链...原创 2020-02-09 16:14:46 · 254 阅读 · 0 评论 -
【LeetCode】19. 删除链表的倒数第N个节点(python 版)
题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 思路: # Definition for singly-linked...原创 2020-01-20 09:45:47 · 409 阅读 · 0 评论 -
《剑指offer》【链表中倒数第k个节点】(python版)
题目描述:输入一个链表,输出该链表中倒数第k个结点。 思路:本题是很典型的快慢双指针问题,快指针先走k步,然后快慢指针再同时往前走,当快指针走到尽头时,慢指针刚好在倒数第k个节点的位置上。唯一需要注意的问题是小心参数k值大于链表长度。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # ...原创 2018-07-04 21:49:29 · 1700 阅读 · 2 评论 -
《剑指offer》【两个链表的第一个公共结点】(python版)
题目描述:输入两个链表,找出它们的第一个公共结点 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindFirstCommonNode(self, pHea...原创 2018-07-05 09:42:32 · 488 阅读 · 0 评论 -
《剑指offer》【链表中环的入口结点】(python版)
题目描述:一个链表中包含环,请找出该链表的环的入口结点。 思路: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public Li...原创 2018-07-05 20:51:01 · 2106 阅读 · 0 评论