太阳hxy
太阳hxy
全部文章
分类
选择题(2)
题解(76)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
(共29篇)
NC255 最长有效的括号字符子序列
import java.util.*; public class Solution { //创建一个List<String>类型的基于数组的表,用ArrayList的无参构造函数 private List<String> res=new ArrayList&...
Java
递归
字符串
栈
2023-09-03
1
574
NC240 计算器(一)
栈(计算表达式) import java.util.*; public class Solution { public int calculate (String s) { //创建一个栈,用于存每个数字的数值和符号位 Stack<Integer>sta...
Java
栈
字符串
2023-08-30
1
358
NC219 移掉 K 位数字
单调栈 import java.util.*; public class Solution { public String removeKnums (String num, int k) { //定义一个单调栈用于求删除k位后能得到的最小的整数 Stack<...
Java
贪心
单调栈
2023-08-29
2
442
NC175 合法的括号字符串
import java.util.*; public class Solution { public boolean isValidString (String s) { //创建两个linkedList(是基于双向链表实现的),new LinkedList<>...
Java
栈
字符串
2023-08-29
3
754
和大于等于K的最短子数组
和大于等于K的最短子数组 思路:(双指针) 1.先将右指针不断向右移动,直到区间的和大于等于k 2.当区间的长度大于等于k,就可以将左指针向右移动,不断取得最短的子数组的长度 代码: import java.util.*; public class Solution { //...
Java
双指针
滑动窗口
2023-07-18
1
429
旋转链表
旋转链表 思路: 1.先用一个hashmap将对应的下标和节点的值存起来 2.再遍历一遍链表,对原链表中的节点的值进行修改,根据下标查找对应的节点,将后面的k个节点进行平移到前面, 将前面的平移到后面(实际上是进行了修改) 3.注意取余操作 代码: import java.util.*; ...
Java
哈希表
链表
2023-07-15
3
498
排序奇升偶降链表
排序奇升偶降链表 思路: 1.先根据奇数位和偶数位的节点拆分为两个表 2.再将第二个表进行反转 3.最后将第一个表和第二表进行合并 代码: import java.util.*; /* * public class ListNode { * int val; * ListN...
Java
链表
模拟
2023-07-15
1
443
给单链表加一
给单链表加一: 思路: 1.先建立一个虚的头结点,将头结点连接到原链表的头结点 2.注意头结点的值要初始化为0!!! 3.由于需要判断当前的节点的值是否需要加1,就需要知道后面的节点的值是否会产生进位 4.所以用递归的思想,先得到后面的节点的值 5.分为两种情况:如果后面没有节点,就表明该链表只...
Java
链表
递归
模拟
2023-07-15
1
434
两两交换链表的节点
两两交换链表的节点 用递归的思想: 1.递归的结束条件:剩余未反转的节点的数量少于两个的时候,就不需要进行反转,直接返回 2.否则就将两个节点进行反转 3.再用递归将后面的节点也进行翻转,返回反转后的头节点 4.将前一个反转后的区间与后面翻转后的区间进行连接 代码:: import java....
Java
递归
链表
2023-07-15
1
329
环形链表的约瑟夫问题
环形链表的约瑟夫问题 思路: 1.先创建编号为1的人的节点作为循环链表的头结点 2.将剩下的所有的人创建对应的节点连接形成形成链表 3.将链表的首尾相连,因为对于约瑟夫问题,需要的是循环链表 4.进行游戏,每次让第m个人出圈 代码: import java.util.*; public...
Java
链表
2023-07-15
1
391
首页
上一页
1
2
3
下一页
末页