NiimiSora
NiimiSora
全部文章
题解
归档
标签
去牛客网
登录
/
注册
NiimiSora的博客
全部文章
/ 题解
(共7篇)
题解 | #判断一个链表是否为回文结构#找中点的同时反转
思路 双指针找中点,遍历同时反转前半部分 处理特殊情况 fast指针回到反转后的头指针的位置,与slow指针逐个比较 实现 import java.util.*; public class Solution { public boolean isPail (ListNode head)...
Java
双指针
2022-05-02
1
394
题解 | #单链表的排序#7行代码的优先级队列辅助
思路 简单思路,非最优。 链表每个结点值都扔到优先级队列里去。 新建结点的值为pq.poll() 想偷懒不想写排序算法,又不想调Arrays.sort(),才写出了这样的代码,就当练练PriorityQueue,纯属娱乐;-) 实现 import java.util.*; public cla...
Java
堆(优先队列)
2022-04-30
2
373
题解 | #链表相加(二)#
思路 类似大数相加,逐位相加带上进位即可。 reverse两个链表,方便后面从低位往高位逐位相加; 创建新结点,找个哨兵结点记录这个结点,初始化一个变量用来记录进位; 反转后的两个链表都不为空时,记录两个结点值以及进位值的和记为sum,新结点值为sum%10,进位为sum/10; 其中一个链表为空...
Java
链表
2022-04-30
2
443
题解 | # 删除链表的倒数第n个节点#
思路 同#链表中倒数最后k个结点#,使用快慢指针。 快指针比慢指针先n步,快慢指针同步前进,快指针碰到null时,慢指针就是待删除结点,比起上一题,需要再维护一个pre结点,记录slow指针前面的结点,最后逻辑删除slow结点,返回head。 实现 import java.util.*; publ...
Java
双指针
2022-04-29
2
404
题解 | #链表中倒数最后k个结点#
思路 快慢指针 快指针先移动k次,快慢指针同步移动(此时快慢指针之间相差k个结点),当快指针移动到null时,慢指针恰好移动到最后第k个结点。 特殊情况处理,fast没移动k次就为null时返回null 实现 import java.util.*; public class Solution { ...
Java
双指针
2022-04-28
1
422
题解 | #在行列都排好序的矩阵中找指定的数#
在行列都排好序的矩阵中找指定的数 时间O(M*N) 空间O(1) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new ...
Java
2022-03-06
3
642
题解 | #合并两个排序的链表#
递归思路 同Leetcode 21 Merge Two Sorted Lists ,用递归实现: 简单地理一下思路: 从头结点开始考虑,比较两表头结点的值,值较小的list的头结点后面接merge好的链表(进入递归了); 若两链表有一个为空,返回非空链表,递归结束; 当前层不考虑下一层的细节,当前...
Java
递归
Java
Java
Java
Java
Java
Java
Java
2021-09-18
103
4367