下一次什么时候可以修改昵称
下一次什么时候可以修改昵称
全部文章
题解
读书笔记(15)
归档
标签
去牛客网
登录
/
注册
火龙山谷
炎龙侠
全部文章
/ 题解
(共7篇)
LeetCode148. 排序链表-Java&Go-归并排序
来自专栏
算法 1.归并排序 2.分割链表为两半 使用快慢指针分割的同时,记录慢指针前一个节点,用于切断左右两部分连接 3.递归排序左右两半链表,然后做merge public ListNode sortList(ListNode head) { if (head == null || he...
LeetCode[101-150]
Java
排序
Go
链表
2020-11-21
0
700
LeetCode147. 对链表进行插入排序-Java&Go-头插法
来自专栏
算法 1.头插法 2.插入前先记录下一个要插入的节点,然后从头开始找插入位置 public ListNode insertionSortList(ListNode head) { if (head == null || head.next == null) { retu...
LeetCode[101-150]
Java
排序
Go
链表
2020-11-20
0
623
Java&Go-LeetCode25. K 个一组翻转链表-递归
来自专栏
算法 1.找到前K个节点范围,当不足K个时返回head 2.记录接下来K个的开头 3.翻转前K个节点 4.用刚才记录的接下来K个节点的开头递归翻转后面的,然后连接到前K个翻转前的head节点 ps:2和3顺序不能反过来,因为翻转后会改变原链表的指向 public ListNode revers...
Java
Go
链表
2020-11-08
0
670
Java&Go-剑指Offer面试题22:链表中倒数第k个结点-双指针
来自专栏
题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。 算法 1.在头节点前面建立伪节点 2.双指针,前指针先走到...
Java
Go
链表
双指针
2020-11-08
0
610
Java&Go-LeetCode328. 奇偶链表-双指针
来自专栏
算法 1.双指针 2.先保存奇数头节点和偶数头节点(避免引用中的属性发生变化) 3.一个引用指向奇数节点,一个引用指向偶数节点,开始往后处理结点指向 4.结束的条件是,偶数节点不为null且偶数节点的next不为null 5.最后将偶数头节点挂到奇数链表尾节点 public ListNode ...
链表
双指针
Java
Go
2020-10-25
0
775
Java-LeetCode143. 重排链表-分割链表&翻转链表
算法 1.快慢指针找到中间节点 2.可以看出找到的中间节点是一定挂在末尾不会变的,所以将其再移动一个位置,并且把它前面的节点挂个null表示前半部分链表结束 3.翻转后半部分链表 4.将翻转后的后半部分链表逐个插入前半部分即可 public void reorderList(ListNode ...
链表
双指针
2020-10-20
0
666
Java-LeetCode82. 删除排序链表中的重复元素 II-伪结点&双指针
来自专栏
算法 1.设置伪结点,方便处理 2.双指针prev和curr 3.当遇到当前节点值和下一节点值相等的节点时,进行while循环找到下一个不相等的节点,挂到prev节点上 4.当遇到当前节点值和下一节点值不相等的节点时,prev和curr都移动到下一个节点接着遍历就行 public ListNo...
链表
双指针
2020-10-20
46
1411