golang力扣leetcode 148.排序链表

题解时间复杂度是 O(nlogn) 的排序算法包括归并排序、堆排序和快速排序(快速排序的最差时间复杂度是 On2次,其中最适合链表的排序算法是归并排序。坑点:链表中节点的数目在范围 [0, 5 * 104] 内,没注意节点可能为0,没写head == nil,排错排了好久思路:归并排序,找中点和合并...

golang力扣leetcode 82.删除排序链表中的重复元素II

题解由于链表的头节点可能会被删除,因此我们需要额外使用一个哑节点(dummy node)指向链表的头节点。当遍历完整个链表之后,我们返回链表的的哑节点的下一个节点 dummy.next 即可哑节点是在处理与链表相关的操作时,设置在链表头之前的指向链表头的节点,用于简化与链表头相关的操作。代码pack...

golang力扣leetcode 83. 删除排序链表中的重复元素

题解检查current与下一个的val相等吗,相等就把current.next连到下下个上面,然后重复判断,直到不相等为止代码package leetcode type ListNode struct { Val int Next *ListNode } func deleteDuplicates(...

力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)

力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)

第一部分:题目描述🏠 链接:82. 删除排序链表中的重复元素 II - 力扣(LeetCode)⭐ 难度:中等第二部分:代码实现2.1 三指针法p1 是待删除的上一个节点,每次循环对比 p2、p3 的值。如果 p2 与 p3 的值重复,那么 p3 继续后移,...

力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)

力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)

第一部分:题目描述🏠 链接:83. 删除排序链表中的重复元素 - 力扣(LeetCode)⭐ 难度:简单第二部分:代码实现2.1 快慢指针法步骤:当节点数小于2时,则不会发生重复节点的情况,无需删除,直接返回。设置快慢指针,慢指...

每日一题---力扣剑指Offer 25.合并两个排序的链表

每日一题---力扣剑指Offer 25.合并两个排序的链表

分析Java中虽没有指针,但Java对象中却有着指针的影子,同样可以利用指针的一些性质,这是因为java的基础类型存放在栈中,对象存放在堆中。这样就可以根据一个对象来改变另一个对象的值,所以我们需要两个链表,一个进行返回,一个进行操作。代码public ListNode mergeTwoLists(...

怒刷力扣(删除排序链表中的重复元素)

怒刷力扣(删除排序链表中的重复元素)

删除排序链表中的重复元素WangScaler: 一个用心创作的作者。声明:才疏学浅,如有错误,恳请指正。题目给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。初步分析这个题会链表的话感觉就很简单没什么复杂的过程,如下图所示。当我们当前指针的指向...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

数据库
数据库
分享数据库前沿,解构实战干货,推动数据库技术变革
253177+人已加入
加入