
LeetCode及牛客网经典面试OJ题目
文章平均质量分 84
数据结构与算法经典面试题
zhanglf6699
爱德华写小说优雅美得花一朵
展开
-
LeeCode题目 - 用两个栈实现队列, 包含min函数的栈
剑指offer 09: 用两个栈实现队列 剑指offer 30: 包含min函数的栈 用两个栈实现队列 题目链接: 剑指offer 09:用两个栈实现队列 题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例一: 输入: [“CQueue”,“appendTail”,“deleteHead”,“deleteHead”]原创 2022-04-04 12:39:19 · 749 阅读 · 0 评论 -
Java数据结构之二叉树经典面试OJ题(下)
二叉树遍历 二叉树的分层遍历 1. 二叉树遍历 题目描述: 示例1 输入:abc##de#g##f### 输出:c b e g d f a 题目分析: 题目给定一个字符串,这个字符串是一个先序遍历结果(’ # ’ 代表当前节点为空),题目要求我们根据这个字符串创建二叉树并打印中序遍历结果,我们只需: 遍历字符串,字符串当前位置的值不为空时,创建节点,并继续向后遍历 字符串当前位置的值为空时,直接向后遍历 创建完二叉树后对二叉树进行中序遍历,并打印中序遍历结果即可 代码实现: import j原创 2022-02-13 11:47:40 · 582 阅读 · 0 评论 -
Java数据结构之二叉树经典面试OJ题(上)
1.检查两棵树是否相同 2.另一棵树的子树 3.二叉树的最大深度 4.判断一颗二叉树是否是平衡二叉树 5.对称二叉树 6.二叉树的构建及遍历 7.二叉树的分层遍历 8.给定一个二叉树,找到该树中两个指定节点的最近公共祖先 9.二叉搜索树转换为成排序双向链表 10.根据一棵树的前序遍历与中序遍历构造二叉树 11.根据一棵树的中序遍历与后序遍历构造二叉树 12.二叉树创建字符串 1. 检查两棵树是否相同 题目: 题目分析: 根据题意,树结构相同且节点值相同的两棵树为相同的树 当所有节点的结构都相同时,树的原创 2022-01-21 16:05:16 · 578 阅读 · 1 评论 -
LeetCode — 有效的括号(Java实现)
题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例一: 输入:s = “()” 输出:true 示例二: 输入:s = “()[]{}” 输出:true 示例三: 输入:s = “(]” 输出:false 示例四: 输入:s = “([)]” 输出:false 示例五: 输入:s = “{[]}” 输出:true 题目分析 返回false共有原创 2022-01-15 18:38:59 · 438 阅读 · 1 评论 -
Java数据结构之栈和队列的相互实现(LeetCode题目)
用栈实现队列 题目: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 说明: 你只能使用标准的栈操作 —— 也就是只有 push to t原创 2022-01-16 18:37:13 · 527 阅读 · 2 评论