自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 LeetCode232:栈模拟队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(

2024-04-04 22:54:24 110 1

原创 牛客和LeetCode:链表环中的入口结点

这道题不算太难,主要还是用到快慢指针,快的走两步,慢的走一步,最后两个指针会在环里面相遇,这是让慢指针指向头节点,然后两指针同时走,再相遇的时候就是环的入口结点。若没有,则返回对应编程语言的空结点即可。环的部分只有一个结点,所以返回该环形链表入口结点,后台程序打印该结点对应的结点值,即2。给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。返回环形链表入口结点,我们后台程序会打印该环形链表入口结点对应的结点值,即3。可以看到环的入口结点的结点值为3,所以返回结点值为3的结点。

2024-03-25 21:46:43 244 1

原创 线程的操作

1.用之前的继承,实现接口,内部类,lambda表达式来创建线程。2.创建完线程后,用线程对象来调用start()方法启动线程。3.等待线程用方法join(),谁调用就是让另一个线程等待这个调用的线程执行完。3.休眠当前线程sleep(),也可以正在括号内设置休眠时间。

2024-03-25 16:35:12 295 1

原创 LeetCode86:分隔链表

思路:直接遍历链表,小于X的放到一起,大于等于X的放到一起,然后串起来,采用尾插法放到一起。两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。

2024-03-21 21:37:44 121 1

原创 LeetCode141:环形链表

思路:这道题用到快慢指针,fast和slow,两个指针都指向头节点,快的走两步,慢的走一步,如果两个相等后就是环,不相等就是没有环。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。,判断链表中是否有环。给你一个链表的头节点。

2024-03-21 21:22:13 274 1

原创 LeetCode160:相交链表

思路:这道题相对于来说比较简单,开始有两个链表但是他们后面又都同时指向一个链表,前半部分的链表可以分为长度相等的链表和长度不等的链表。1.分别先求前半部分两个链表的长度,定义两个指针分别遍历,然后再重新让两个指针指向头节点,两个表的长度相减计算长度,如果长度为负数,修正一下指向,让长度为正数,要始终确保两个表的长度差为正数。2.走差值,让指向长度长的链表的指针先走。4.返回长链表指针所指向的结点就是相交的位置,前提先判断一下短链表是否为空,这种情况主要应用于两个链表的长度相等时。给你两个单链表的头节点。

2024-03-21 21:05:45 223 1

原创 多线程的概念与创建

多线程

2024-03-20 17:13:21 814 1

原创 LeetCode876:链表的中间结点

思路:定义两个虚拟指针指向头节点,一个fast,一个slow,fast走两步,slow走一步,前提是fast和fast.next不为空,这是返回的slow就是中间结点。

2024-03-19 21:05:18 253

原创 LeetCode第四题:合并两个有序链表

思路:定义两个虚拟结点指向头节点,合并后的两个链表是从小到大排序的。这道题比较简单,看代码理解就行。

2024-03-19 20:54:58 91

原创 LeetCode第三题:反转链表

思路:1.先判断链表是否为空。2.当只有一个结点时返回该结点。以上两步分别用用if条件语句,这个题的核心在于单链表的头插法,定义一个虚拟指针指向头节点的下一个结点,然后将头节点的next域置为空,然后用虚拟指针指向的结点在头节点进行头插法,再定义一个临时指针来保存虚拟指针(这一步要放在while循环的第一步),为了不让后面的链表丢失,当虚拟指针指向的结点进行头插之后,再让头节点的指针指向这个结点,而虚拟指针要等于临时指针,这样后面的链表才不会丢失以此类推写个while循环。

2024-03-19 20:47:35 94

原创 LeetCode第二题:移除链表元素(删除链表中值为val的所有结点)

思路:1.先判断链表是否为空,定义类似c语言的指针,要保持头指针不动,因为动的话会导致失去整个链表,所以定义两个虚拟指针,一个指向第一个结点,另一个指向第一个结点的下一个结点,2.如果第二个结点的值就是要删除的值,故让第一个结点的虚拟指针指向第二个结点的下一个结点,然后让指向第二个结点的虚拟指针指向第三个结点。3.如果第二节点不是要删除的结点,就让头节点的虚拟指针指向第二个结点,让第二个结点的虚拟指针指向第三个结点以此类推,以上2,3两步可以写成if条件语句。

2024-03-19 20:35:13 171

原创 LeetCode第一题:杨辉三角

杨辉三角形

2024-03-17 13:26:23 94

原创 牛客Day1

思路:当链表为空head==null 或长度为1时,直接返回head。定义pre和cur两个节点分别指向null和head节点。然后开始从head节点依次修改指针。先利用tmp节点暂存当前节点的下一个节点,再将当前节点指向它的前一个节点pre,然后再将pre节点和当前节点cur往后移一位,再修改下一个节点的指针。

2024-03-16 21:29:08 111

原创 【无标题】

Day 1Day 1。

2024-03-07 13:01:28 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除