只想进招行
只想进招行
全部文章
未归档
CSS(1)
javascript(11)
前端学习记录(10)
剑指offer(2)
计算机网络(1)
归档
标签
去牛客网
登录
/
注册
只想进招行的博客
全部文章
/ 未归档
(共35篇)
二叉搜索树与双向链表
题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路 要生成排序的双向列表,那么只能是中序遍历,因为中序遍历才能从小到大,所以需要递归, 先对左子数调整为双向链表,并用变量pLast指向最后一个节点 再将中间...
2019-04-07
0
551
复杂链表的复制
题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路 用map来保存<N,N>,其中一个是p.next指正,...
2019-04-07
0
566
二叉搜索树的后序遍历序列
题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 思路 递归判断 代码 function VerifySquenceOfBST(sequence) { if (!sequence.lengt...
2019-04-02
0
556
从上往下打印二叉树
题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路 广度优先遍历,利用队列的思想,先进先出 代码 /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ functi...
2019-03-24
0
538
栈的压入,弹出序列
题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度...
2019-03-23
0
447
实现栈的min函数
题目 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路 增加了一个辅助栈,每次压入数据栈时,把当前栈里面最小的值压入辅助栈当中,使得当前栈内最小的数据始终在辅助栈的栈顶。 代码 const stack = [], minStack = []; let tmp...
2019-03-23
0
412
顺时针打印矩阵
题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路 注意循环结...
2019-03-23
0
485
二叉树的镜像
题目 给出一个二叉树,输出他的镜像二叉树 思路 交换左右节点,递归 代码 /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function Mirror(root) { ...
2019-03-23
0
463
判断子树
题目 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路 递归思想 在树A中找到和B的根结点的值一样的结点R; 判断树A中以R为根结点的子树是不是包含和树B一样的结点。 代码 /* function TreeNode(x) { this.val...
2019-03-23
0
474
合并链表
题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 两个链表都是单调递增的,只要不断比较链表的头结点就可以了,取比较小的那个成为新链表的头结点 代码 /* function ListNode(x){ this.val = x; this...
2019-03-23
0
464
首页
上一页
1
2
3
4
下一页
末页