150. 逆波兰表达式求值

150. 逆波兰表达式求值 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除

152. 乘积最大子数组

152. 乘积最大子数组 给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有

145.二叉树的后序遍历

145. 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 来源:力扣

144.二叉树的前序遍历

二叉树的遍历 有两种遍历树的策略: 深度优先搜索(DFS) 在这个策略中,我们采用深度作为优先级,以便从根开始一直到达某个确定的叶子,然后再返回根

235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 题解: 思路一: 我们使用 HashMap 来存储,子节点的值 -> 父节点。 dfs二叉树,构建map,保存每个节点对应的父节点 根据map,

450.删除二叉搜索树中的节点

练习题: 450. 删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回

98.验证二叉搜索树

98. 验证二叉搜索树 题解: 迭代 和 递归两种方法思路一样, 都是利用二叉树的中序遍历 二叉搜索树的中序遍历结果,是严格升序的, 所以我们中序遍历二叉树 记录

142.环形链表II

142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接

349. 两个数组的交集

349. 两个数组的交集 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中

20. 有效的括号

栈 栈是一种特殊的线性表,只能在一端操作 往栈中添加元素的操作,一般叫做push,入栈 从栈中移除元素的操作,一般叫做pop,出栈(只能移除栈顶元