摘要:
题目 原始地址: "https://leetcode.com/problems/insertion sort list/ /description" 描述 使用插入排序给链表排序。 分析 该题目比较考查链表基本操作。链表的插入排序不同于数组,由于不能按照index访问,所以查找插入位置时不能使用二分 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/partition list/ /description" 描述 给定一个链表和一个值x,把链表分成两部分,值小于x的节点放到值大于等于x的节点之前。要求保留两部分中各节点之间的相对顺序不变。 分析 最简明的办法就是建立 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/sort list/ /description" 描述 排序一个链表,要求时间复杂度为O( n log n ),空间复杂度为常量。 分析 链表排序不同于数组排序,数组排序可以通过索引访问而链表不可以。常见排序算法中时间复 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/rotate list/ /description" 描述 给定一个链表,将其向右旋转k个位置。 分析 此题目不同于字符串或者数组的旋转,相对容易很多,我们只需要将原链表的尾部指向头部形成一个环,再计算出新的头尾的位置, 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/palindrome linked list/ /description" 描述 给定一个单链表,判断它是不是回文的(即从前往后与从后往前内容是相同的) 分析 题目要求空间复杂度为O(1),没有要求不改变原来的链表,因此 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/reverse linked list/ /description" 描述 翻转单链表,尽量使用循环和递归两种方式 分析 循环方式很简单,不赘述。 递归的话,因为最终返回的是翻转后链表的头节点,拿不到翻转后链表的尾节点就 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/remove linked list elements/ /description" 描述 删除链表中所有值与给定值相同的节点。 分析 最简单的题目了,不多解释,循环递归都能做。注意循环解法可以使用一个小技巧,head之 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/intersection of two linked lists/ /description" 描述 给定两个相交的单链表,找出它们开始相交的节点。 分析 最直观的方法是先分别遍历两个链表,获得它们的长度lenA和len 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/remove duplicates from sorted list/ /description" 描述 给定一个已经排序的单链表,删除所有重复的节点,保证每个元素只出现一次。 分析 解题思路很容易想到,无非逐个节点遍历 阅读全文
摘要:
题目 原始地址: "https://leetcode.com/problems/delete node in a linked list/ /description" 描述 在链表中删除给定节点(不是尾节点)。 分析 只给定了当前节点,要把上个节点的next指向当前节点的next是不可能的,因为我们 阅读全文