![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣刷题
Dorethy_Aice
十年饮冰难凉热血
展开
-
剑指 Offer 33. 二叉搜索树的后序遍历序列(JavaScript)
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。有两种方法,一种是递归分治,一种是辅助单调栈。以下解答为辅助单调栈。参考了Krahets和数据结构算法两个大佬的解题思路解题思路:图来自数据结构算法可以得到此二叉搜索树的后序遍历为:[3,6,5,9,8,11,13,12,10]逆着看便是:[10,12,13,11,8,9,5,6,3]通过观察可以看到:①如果是单调递增的话,比如10,1原创 2022-04-09 17:40:39 · 690 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表 (Java Script)
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000基本思路:题目要求从尾到头返回每个节点的值,那么很容易想到栈的特性:先入后出。所以可以创建一个辅助栈,存储节点的值。从链表的头节点开始,把节点的值压入占中stack[1,3,2]。此时最后弹进的元素为2把stack中的元素弹出存储在res中便成了[2,3,1],把res返回即可。/** * @para原创 2022-03-28 23:22:16 · 612 阅读 · 0 评论 -
剑指 Offer 30. 包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.min原创 2022-03-27 16:17:07 · 783 阅读 · 0 评论 -
剑指offer 09. 用两个栈实现一个队列 (JavaScript)
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输入“appendTail的意思便是调用appendTaildel函数,因为没有返回任何值所以输出中返回的是null”输出:[nul原创 2022-03-24 12:06:48 · 1297 阅读 · 0 评论