力扣go实现环形链表,这逻辑错误还是真的慢啊

版权声明:本文为博主原创文章,遵循 版权协议,转载请附上原文出处链接和本声明。

小顶堆,实现golang的堆接口:

如果我要实现大顶堆,那么就要把上面这五个函数重复一遍吗,但其实只需要修改一个Less函数就行了,重复一遍有些多余。并且,实现堆接口也就实现了sort排序接口,排序接口里面通过sort.Reverse(sort.Interface)函数,可以得到一个逆转Less函数的新接口,是否可以在小顶堆的基础上,通过逆转Less函数得到大顶堆呢?我试过好多次,但写出来不太对,有没有大佬指点一下,谢谢

这个题目和 相似,都是考察对链表的操作。其实具体实现方式也差不多啦。

根据题干我们知道,给定的两个链表是有序的。假设 l1 指向其中一个链表的头部,l2 指向另一个链表的头部,并初始化 headcurrent,使它们指向一个默认的节点。我们比较 l1 指向节点的值 这个节点,current 指向下一个节点,l1 指向 l1的下一个节点,反之,则使 current.next 指向 l2 这个节点,current 指向下一个节点, l2 指向 l2的下一个节点

注: l1l2 存在有一个指向 时的处理方案是:将 current.next 指向不是空的的链表即可,因为给定的两个链表本身是有序的。
// head 指向的是默认的节点,head.next 才是结果链表的头节点

每天进步一点点,加油!
算法教程项目,每天更新一题,点个 star 支持一下呀


有疑问加站长微信联系(非本文作者)

我要回帖

更多关于 环形链表删除最后节点 的文章

 

随机推荐