中工升达预备毕业生
中工升达预备毕业生
全部文章
题解
剑指offer(3)
归档
标签
去牛客网
登录
/
注册
中工升达预备毕业生的博客
全部文章
/ 题解
(共66篇)
【剑指offer】复杂链表的复制
菜鸡膜拜ORZ // 剑指offer书上方法1:巧妙的运用哈希表在O(1)的时间对每个节点找到了random值。 public class Solution { private Map<RandomListNode, RandomListNode> map = new Hash...
剑指offer
2019-10-14
0
649
【剑指offer】二叉树中和为某一值的路径
问题就是如何解决在遍历中记录路径,没想到好法子~copy一个,写的思路很清晰,很简洁。 public class Solution { private ArrayList<ArrayList<Integer>> list = new ArrayList<>...
剑指offer
2019-10-14
0
594
【剑指offer】二叉搜索树的后序遍历序列
手动写一个样例即可发现:BST后序遍历序列的最后一个是根节点,根节点把序列分为左右子树,左子树是序列前部分,数值都比根节点小,右子树是序列后部分,数值都比根节点大。如此分析下来,递归解决。 BST后序遍历序列:[l,r]左子树序列:[l,p]右子树序列:[q,r-1] public class So...
剑指offer
2019-10-10
0
737
【剑指offer】把二叉树打印成多行
重新建了一个Node数据结构,Node{TreeNode 树节点,level 层次},进行层次遍历BFS。书上的用两个变量控制将每层树节点打印到一行,很nice~ import java.util.ArrayList; import java.util.LinkedList; import java...
剑指offer
2019-10-10
0
666
【剑指offer】按之字形顺序打印二叉树
很巧的思路,佩服佩服~用两个栈进行维护,当前层次的节点放到栈1里,下一层次的节点放到栈2里。 声明:层次遍历二叉树,然后对偶数层进行反转,复杂度也是O(n)。和上面用两个栈维护的复杂度是同一个级别,并没有本质的区别,只是上面思路O(n)的系数小一丢丢,还有上面思路比较不好想,很巧妙。 import ...
剑指offer
2019-10-10
0
635
【剑指offer】从上往下打印二叉树
宽度优先搜索BFS,不懂得小伙伴百度一下BFS... import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; public class Solution { public ArrayL...
剑指offer
2019-10-08
1
896
【剑指offer】栈的压入、弹出序列
栈的经典问题,判断一个序列是不是栈的弹出序列。 import java.util.Stack; public class Solution { public boolean IsPopOrder(int[] pushA, int[] popA) { Stack<Int...
剑指offer
2019-10-08
10
1123
【剑指offer】包含min函数的栈
// 只想到了用一个数据结构维护最小的元素,也想到了用栈,但是没有想到如何保证O(1)的复杂度。维护一个辅助栈,每次都把最小的元素压入辅助栈,保证在辅助栈栈顶的元素一直是最小的。 import java.util.Stack; public class Solution { privat...
剑指offer
2019-10-08
0
692
【剑指offer】顺时针打印矩阵
很扎心,看了一会讨论和题解,没看到一个用标记数组写的... 随便画图可知,走的方向dir有规律:向右->向下->向左->向上->向右->向下->向左->... 是一个圆圈 判断哪一步是否可以走,首先,它没越界;其次,它没被走过(vis标记数组,为false...
剑指offer
2019-10-05
61
3074
【剑指offer】对称的二叉树
做这种题也没太多诀窍啦技巧啦什么的,就是按题意先画一棵“大”一点的对称二叉树,然后按树的一层一层比较一下,看看怎么算是满足对称的二叉树,思路就有了。代码写出来竟然和书上的一模一样,惊呆了... public class Solution { public boolean jude(Tree...
剑指offer
2019-10-05
60
1195
首页
上一页
1
2
3
4
5
6
7
下一页
末页