LeetCode
红烛垂泪恨相思
这个作者很懒,什么都没留下…
展开
-
LeetCode No.237 删除链表中的节点
文章目录题目示例示例 1:示例 2:说明:分析代码题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [原创 2020-07-10 22:08:36 · 173 阅读 · 0 评论 -
LeetCode No.206 反转链表
LeetCode No.206 反转链表题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLRelated Topics链表分析经典的链表反转题,方法有很多,分递归和非递归非递归1. 直接遍历创建一个空节点,作为新的头节点,遍历节点储存当前节点的next值,当前节点next指向新头节点,头节点移动到当前节点,当前节点移动到next下一个节点原创 2020-07-09 23:07:23 · 165 阅读 · 0 评论 -
LeetCode Np.141 环形链表
LeetCode Np.141 环形链表文章目录题目示例示例 1:示例 2:示例 3:分析图示代码题目给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出原创 2020-07-08 20:44:35 · 335 阅读 · 1 评论 -
LeetCode No.160 相交链表
LeetCode No.160 相交链表文章目录题目示例1示例2代码题目编写一个程序,找到两个单链表相交的起始节点。示例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 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,原创 2020-07-07 20:25:26 · 212 阅读 · 0 评论 -
LeetCode No.83 删除排序链表中的重复元素
LeetCode No.83 删除排序链表中的重复元素题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3Related Topics链表难度: 简单分析:首先链表已经排序,每次比较两个相邻的节点,如果相等,删除第一个节点所以用递归解决,代码只有几行,但是逻辑性比较强,需要理解递归,原创 2020-07-06 23:57:14 · 95 阅读 · 0 评论 -
LeetCode No.203 移除链表元素
题目:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5Related Topics链表难度简单分析递归直接解决假设只有一个节点,那直接比较就行,假设有两个节点,比较最后一个,比较完之后返回,第一个就看做是最后一个,比较一次也就是递归调用到最后一个节点比较。head == null 头节点为空时,返回nul原创 2020-07-05 23:32:18 · 96 阅读 · 0 评论 -
LeetCode No.24 两两交换链表中的节点
LeetCode No.24 两两交换链表中的节点题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4,返回 2->1->4->3.Related Topics链表分析由于是两两交换,因此可以采用递归,即每次交换最后两个节点判断当前链表是否为空或者仅有一个节点,是则返回如果不是,判断是否当前节点为倒数第二个节点。是,交换两个节点原创 2020-07-04 20:46:30 · 147 阅读 · 0 评论 -
LeetCode No.19 删除链表的倒数第N个节点
LeetCode No.19 删除链表的倒数第N个节点题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?Related Topics 链表 双指针Related Topics链表 双指针分析新建两个指针变量fas原创 2020-06-28 14:52:40 · 118 阅读 · 0 评论 -
LeetCode 第2题 两数相加
LeetCode2 两数相加题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:3原创 2020-06-25 22:55:13 · 128 阅读 · 0 评论 -
LeetCode 第21题 合并两个有序列表
LeetCode No.21合并两个有序列表题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4分析创建一个带头节点的新链表while循环第一步遍历两个链表针对每一次循环如果每一次两个节点都有数据将较小值储存到新链表中较小值所在的节点指针指向,向后一位如果某一个节点为空,原创 2020-06-25 22:56:43 · 246 阅读 · 0 评论 -
LeetCode No.1290 二进制链表转十进制
LeetCode No.1290-二进制链表转十进制题目:给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。示例:示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1输出:1示例 4:输入:head = [1,0,0,1,0,0原创 2020-06-27 22:42:13 · 270 阅读 · 0 评论