飘过的小牛
飘过的小牛
全部文章
分类
题解(36)
归档
标签
去牛客网
登录
/
注册
飘过的小牛的博客
全部文章
(共42篇)
两个链表相加得新链表
没看清题,n和m 的范围是6次方以内还涉及不到大数,因为这两个相加最多结果就是一个7次方。但是利用大数相加的思路是没有问题的。先把链表转换成字符串,然后转化为大数相加的就可以了 public class Solution { /** * * @param head1 ...
2021-03-13
0
489
最长公共子串
题刷多了就有很多相似的问题出现了,这种最长的系列都可以作为一个专题了1 最大连续子数组和2 最长无重复子串3 最长公共子串 几乎都是一样的,涉及到两个两个递推,一个是用来更新另一个的。主要是临界条件不好找,基于类似的思想,子串在清零的时候,不能立马清零,因为可能会出现新的子串。 这种比较尬的测试样例...
2021-03-13
0
648
之字形打印二叉树
分析:考察数据结构二叉树,考察的算法是 bfs。bfs 的核心就是用队列实现,主要常见的几种题型:1 什么要求都没有,只要求层序遍历(只要一个队列实现)2 要求按层打印(两个队列)3 要求之字形打印(两个队列)4 要求倒序打印,,,各种姿势打印。。 不外乎就是要记住每一层,只要理解了层序遍历本质:先...
2021-03-13
0
460
大数相加
0 总结 考察数组,没有什么好的办法,存粹就是暴力的解法,但是前提是要逆序一下,这样就好了很多,不逆序的话可以在短的前面补0也是一样的。但是硬用字符数组的话要判断谁先结束的问题,于是可以巧妙地转化成整型数组,整型数组默认值是0,0加上任何数不产生什么其他特殊意义,所以我们就不用判断谁先结束谁后结束了...
2021-03-13
1
554
大数加法
0 总结 考察数组,没有什么好的办法,存粹就是暴力的解法,但是前提是要逆序一下,这样就好了很多,不逆序的话可以在短的前面补0也是一样的。但是硬用字符数组的话要判断谁先结束的问题,于是可以巧妙地转化成整型数组,整型数组默认值是0,0加上任何数不产生什么其他特殊意义,所以我们就不用判断谁先结束谁后结束了...
2021-03-13
0
389
删除链表倒数第n个节点
倒数第n个节点其实就是顺数第 count-n+1 个节点,但是我们要删除这个节点就先要走到 第 count-n 个节点上去,p.next=p.next.next 就成功了。但是要注意的时候有可能 n == count 也就是说要删除链表头节点的时候要注意 public ListNode remove...
2021-03-12
0
571
字符串最长无重复子数组
这是之前的最大连续子数组和的变种,代码差不多。只不过是递推公式发生了变化,不再是直接清零就好了,反而是要拿到前面重复数字的后一位开始继续 public int maxLength (int[] arr) { // write code here if(arr==null || a...
2021-03-12
0
498
机器人的运动范围
这中类型的题主要是考察 图搜索,一般都是用类似 dfs,bfs 的尝试算法,其实某种程度上算是穷举法,这个比直接暴力可能要节约一点时间,但是dfs的递归调用栈内存也是不好扛的。,,虽然一开始我是想用 bfs 的,但是发现还要用个数据结构来存每一层的点的坐标。所以写成 dfs,,,,可能有点晕,,,把...
剑指offer
2021-03-08
0
710
二叉树按行打印
原来真的有,,,,把刚刚之字形打印的代码改一个地方就可以了,就是不用翻转了 public class Solution { public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayLis...
剑指offer
2021-03-08
1
546
之字形打印
本题考查树的 BFS.BFS就是一层一层的遍历,我们用队列实现。一个队列的话我们没有层次的限制,直到这个队列为空,说明我们遍历完了。但是现在我们要记录下每一层的节点。相当于问题转为给定一棵二叉树,麻烦打印一下第n层的所有节点。所以为了让每一层都有明显的分开,我们用两个队列来实现互相保存。 之字形的话...
剑指offer
2021-03-08
0
497
首页
上一页
1
2
3
4
5
下一页
末页