LeetCode# 链表
链表题目
xzs_xiaobai
我也不清楚
展开
-
有序链表转换二叉搜索树(第109题)
题目:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ ...原创 2019-12-23 20:01:24 · 217 阅读 · 0 评论 -
反转链表(中等难度)(第92题)
题目:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL分析一:递归:看了几个大佬的解释,还是不是很明白,准备一周后再来复习。先上代码吧。...原创 2019-12-12 19:21:42 · 141 阅读 · 0 评论 -
分隔链表(第86题)
题目:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5分析:可以想到将原始链表分成特定值x之前的一个新...原创 2019-12-12 14:07:28 · 117 阅读 · 0 评论 -
删除链表中的重复元素(中等难度)(第82题)
题目:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例2:输入: 1->1->1->2->3输出: 2->3分析:因为最近一直在刷链表类型的题目,所以拿到这个题目的时候我...原创 2019-12-11 15:13:17 · 127 阅读 · 0 评论 -
旋转链表(第61题)
题目:给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4-...原创 2019-12-10 19:52:09 · 132 阅读 · 0 评论 -
两两交换链表中的节点(第24题)
题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.分析一:单向链表找寻节点肯定是从头往后遍历,两两节点之间的交换,可以利用递归的思想。终止条件就是当head节点为空(链表中没有节点)以及head...原创 2019-12-10 17:32:05 · 117 阅读 · 1 评论 -
删除链表的倒数第N个节点(第19题)
题目:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:你能尝试使用一趟扫描实现吗?分析:用到指针,可以将问题转换成删除正数第几个数。首先建...原创 2019-12-09 14:42:44 · 104 阅读 · 0 评论 -
两数相加-(第2题)
题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原...原创 2019-08-29 16:41:55 · 83 阅读 · 0 评论 -
相交链表(第160题)
题目:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两...原创 2019-12-09 13:33:15 · 56 阅读 · 0 评论 -
环形链表(第141题)
题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。进阶:你能用O(1)(即,常量)内存解决此问题吗...原创 2019-12-09 09:41:40 · 52 阅读 · 0 评论 -
合并两个有序链表(第21题)
题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4分析:首先,确定一下新链表的头结点,因为开始遍历后,头结点就会消失,到时候return的时候很麻烦;然后遍历两个链表,根据两个链表中值的大小移...原创 2019-12-08 18:03:31 · 106 阅读 · 0 评论 -
删除排序链表中的重复元素(第83题)
题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3分析:首先可以确定给定链表是已经排好序的,所以可以直接从前往后遍历链表。代码如下:/** * Definition for...原创 2019-12-08 18:31:01 · 93 阅读 · 0 评论