栈
失业边缘,疯狂挣扎
这个作者很懒,什么都没留下…
展开
-
面试题54. 二叉搜索树的第k大节点(Java)(中序遍历变形)
1 题目2 Java中序遍历的延伸2.1 方法一(中序遍历,迭代)最傻的办法,没啥可说的/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int ...原创 2020-03-07 16:49:59 · 135 阅读 · 0 评论 -
面试题31. 栈的压入、弹出序列(Java)
1 题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,...原创 2020-03-05 14:53:39 · 85 阅读 · 0 评论 -
面试题30. 包含min函数的栈(Java)(辅助栈,单调栈)
1 题目定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); -->...原创 2020-03-05 14:10:54 · 115 阅读 · 0 评论 -
面试题09. 用两个栈实现队列(Java)
1 题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null...原创 2020-03-04 17:28:06 · 130 阅读 · 0 评论 -
面试题24. 反转链表(206. 反转链表)(Java)(递归,原地反转)(迭代,原地反转)(迭代,反转至新链表,头插式)
1 题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...原创 2020-03-02 14:27:06 · 121 阅读 · 0 评论 -
面试题06. 从尾到头打印链表(Java)(链表遍历,一叉树遍历)
1 题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]2 Java2.1 方法一(很傻)存到集合中,再转化为数组/** * Definition for singly-linked list. * public class ListNode { * int val; * L...原创 2020-02-26 22:57:24 · 164 阅读 · 0 评论