牛客245120908号
牛客245120908号
全部文章
分类
题解(44)
归档
标签
去牛客网
登录
/
注册
牛客245120908号的博客
TA的专栏
26篇文章
0人订阅
解题思路
26篇文章
324人学习
全部文章
(共8篇)
题解 | #链表相加(二)#
因为是从后相加,往前进位,使用栈最方便,每次各取一个数,相加,分别与10取余和取模,余数作为进位,模作为值。由于下一个和需要加上进位,所以每次各取一个数相加时还需要加上余数。模就是最终的节点,所以没得到一个模,就将其插入到head后面,head后面原来的值后移,由于栈空之后还可能进位,所以最后要根据...
Java
栈
链表
2022-04-02
0
189
题解 | #链表中倒数最后k个结点#
思路,倒数K个,第一个想到的就是栈,一个一个入栈,最后取K个。进阶要求空间复杂度为1,栈的空间复杂度为n,那就使用递归,链表有个好处,倒排的时候不用考虑next,取到的值的next还在 import java.util.*; /* * public class ListNode { * i...
Java
栈
链表
队列
2022-04-01
0
233
题解 | #两个链表的第一个公共结点#
链表里面有个指针,指向头结点的指针一般不要动,移动的时候找个替补指针,但是一直纠结,替补指针指向头结点,做了改动,不是照样改变了原链表吗,跪在每K个节点反转那道题了。 for循环YYDS /* public class ListNode { int val; ListNode...
Java
栈
链表
2022-04-01
0
196
题解 | #反转链表#
链表的位置域需要有一个比较深的理解,定义一个临时变量指向头结点,当临时变量向next移动,头结点不变,临时变量的next被赋值,头结点的next也跟着被赋值了 方法1,利用栈先进后出的特性,先把节点的next域赋null,压入栈中,这样每个元素都是单一元素,出栈时,将第一个元素赋给头结点,此位置...
Java
链表
栈
递归
2022-03-31
0
189
题解 |中等算法 #单调栈#
思路:当前数分别跟左边和右边比一遍,获取第一个小的值下标 1.循环比较赋值,就是时间复杂度有点高 时间复杂度 n^2 空间复杂度 1个二维数组 2个常量 import java.util.*; public class Solution { /** * 代码中的类名、方...
Java
数组
栈
2022-02-25
2
281
题解 | 简单算法#包含min函数的栈#
理解题目:获取栈内最小数字,那取出来排个序再放回去吧 1.用数组接,数组排序后第一个值就是最小的 时间复杂度 2个循环 空间复杂度 消耗了1个数组 import java.util.Stack; import java.util.*; public class Solution { ...
Java
数组
栈
2022-02-25
0
232
题解 | 简单算法#用两个栈实现队列#
理解题目:使用2个栈实现先进先出 思路:数据进入栈1【1,2,3】,从栈1出数进栈2【3,2,1】,输出栈2中的数3,2,1,即实现了栈1的先进先出。这里有一个要注意的点就是数据不是一次性进入栈1然后一次性从栈2出来,所以要考虑变道的情况。但总体原则都是不变的,从栈1进,栈2出,只要栈2没数据了,就...
Java
栈
2022-02-25
0
357
题解 | 简单算法#有效括号序列#
思路:栈,先进后出 1.左括号入栈,右括号与出栈的值相比,匹配则继续,为空或不匹配则抛错,最后不为空栈则代表漏右括号 Stack stack = new Stack(); int i=0; while(i<s.length()){ c...
Java
字符串
栈
2022-02-24
0
202