稚园
稚园
全部文章
题解
Leetcode刷题(146)
归档
标签
去牛客网
登录
/
注册
稚园的博客
全部文章
/ 题解
(共9篇)
java+HashMap-复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路参考https://www.nowcoder.co...
剑指offer
java
链表
2020-12-16
1
692
java-删除链表中的重复的节点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5示例1输入{1,2,3,3,4,4,5}返回值{1,2,5} 解题思路 ...
剑指offer
java
链表
2020-12-16
0
620
java链表-链表中倒数第K个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。示例1输入1,{1,2,3,4,5}返回值{5} 解题思路注意异常跳出情况:k<0或者k>数组的长度或者数组为空,需要返回空 方法一:先遍历出链表长度,计算n-k,再进行二次遍历方法二:利用快慢指针。使快指针比慢指针快k个结点。之后一块右...
剑指offer
java
链表
2020-12-15
0
462
java自定义比较器-把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。示例1输入[3,32,321]返回值"321323" 解题思路自定义比较器-比较两个数拼接之后的大小来确定元素的位置...
剑指offer
java
链表
2020-12-15
0
606
java约瑟夫问题-孩子们的游戏
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意...
剑指offer
java
链表
2020-12-12
0
534
java-链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。解题思路我们假设链表有环,那么设置一对快慢指针,快的一次走两格,慢的一次走一个格。一旦慢的进入环,则后续则为快的追赶慢的,一次追赶一格。最后肯定会在环中某点相遇用A表示起点到入口点的距离用B表示入口点到相遇点的距离用C...
剑指offer
java
链表
快慢指针
2020-12-12
0
429
java-两个链表的第一个公共节点
题目描述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)解题思路首先需要明白公共节点就是同一个节点,而不是说节点值一样如果两个节点长度一样,则直接遍历链表,比较是否相等即可主要针对两个链表长度不一致的情况解法一:公共节...
剑指offer
java
链表
2020-12-12
1
653
java-反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。示例1输入{1,2,3}返回值{3,2,1}解题思路该题最后的总结就是利用链表的本质,新增节点进行对节点进行记录和拼接即可。具体的注释在代码中给出总结下来就是:初始一个头结点。遍历链表,把链表的当前节点插入到头结点的前边,并更新头结点。直至链表最后...
剑指offer
java
链表
2020-12-11
1
665
java-合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。示例1输入{1,3,5},{2,4,6}返回值{1,2,3,4,5,6}解题思路这是一个很简单的链表题当两个链表为空时,返回空链表当两个链表均不为空,谁的当前元素小,将谁放入新的链表中,然后指针右移当...
剑指offer
java
链表
2020-12-11
2
816