AKA丶窝窝
AKA丶窝窝
全部文章
题解
归档
标签
去牛客网
登录
/
注册
AKA丶窝窝的博客
全部文章
/ 题解
(共19篇)
链表内指定区间反转
1.借助栈(先进后出) 借助栈达到反转的效果,时间复杂度:O(n),遍历所有结点;空间复杂度:O(n),借助了栈 import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; *...
Java
链表
栈
2021-10-02
0
661
链表的奇偶重排
1.借助栈 借助栈存偶数次序和奇数次序的结点,再合并到一个链表,时间复杂度:O(n);空间复杂度:O(n)import java.util.*; /* public class ListNode { int val; ListNode next = null; public ListNode...
Java
链表
栈
2021-09-29
0
560
链表中的节点每k个一组翻转
1.借助栈(利用后进先出的特点进行反转) 时间复杂度:O(n2),如果反转长度刚好为整个链表,循环就会达到n2;空间复杂度:O(n),借助了栈。import java.util.*; /* public class ListNode { int val; ListNode next = nu...
Java
栈
链表
2021-09-27
0
419
两个链表生成相加链表
1.暴力:将两个值用两个整数存起来,相加,再StringBuffer类型完成反正,再转换为字符串,最后存到结果链表中,时间复杂度:O(n),总体上还是一个循环;空间复杂度:O(1),但是会超过int类型的最大,而得不到正确结果import java.util.*; /* public class ...
Java
链表
栈
2021-09-25
0
496
删除链表的倒数第n个节点
1.暴力解法 直接计算链表长度,再遍历到要删除的位置,时间复杂度:O(n),遍历结点,空间复杂度:O(1),辅助空间为常数级。import java.util.*; /* public class ListNode { int val; ListNode next = null; } / ...
Java
双指针
链表
2021-09-17
0
416
大数加法
没有数的位置用0进行代替,用stringBuffer来存放每一次一个位置存的数,如果大于10就需要进位,如果加到是尾部就需要反转,加在头部就不需要反转。可以用stringbuffer的insert方法,插入头部,append方法加在尾部,同时还可以用栈的先进后出的特点,也可完成操作。import j...
Java
字符串
2021-09-15
0
458
二叉树根节点到叶子节点和为指定值的路径
1.递归dfs,相当于先序遍历 可以用从根结点到叶子结点的值用sum进行相减,判断有无符合的路径。也可以使用往下累加的方法,找到相应路径,时间复杂度:O(n),遍历所有结点,空间复杂度:O(n)。import java.util.*; /* public class TreeNode { i...
二叉树
dfs
栈
2021-09-14
0
437
两个回文子序列长度的最大乘积
大佬们的思路:利用dfs,对于i位置的的字符,两个子序列可以选择用或者不用;class Solution { int res=0; public int maxProduct(String s) { dfs(s,"","",0); ...
回文串
dfs
2021-09-13
0
547
最长回文子串
1.暴力解法 提出出字符串的每一个子字符串,判断是否为回文串,如果是的话,就记录下值,要最大的那一个。时间复杂度为:O(n2),两次循环;空间复杂度为:O(1)。import java.util.*; public class Solution { public int getLonge...
动态规划
字符串
回文串
2021-09-11
0
606
表达式求值
表达式求值,借助两个栈可以实现,一个存数字,一个存字符,遇到字符,根据优先级进行出栈运算,没有写出来,当遇到()时,需要进行递归,将()中的表达式递归,然后就是遇到运算符,就正常运算就行,最后如果存数字的栈没空,就将里面的数字相加就可得到答案。import java.util.*; public c...
栈
递归
2021-09-10
0
478
首页
上一页
1
2
下一页
末页