Leetcode经典148题
-
leetCode-88-Merge-Sorted-Array
题目描述(简单难度) 给两个有序数组,把第二个数组合并到第一个数组中,保持有序。可以注意到第一个数组已经为我们多开辟了第二个数组所需要的空间。 解法一 直接法 简单粗暴,nums1…
-
leetCode-89-Gray-Code
题目描述(中等难度) 生成 n 位格雷码,所谓格雷码,就是连续的两个数字,只有一个 bit 位不同。 解法一 动态规划 按照动态规划或者说递归的思路去想,也就是解决了小问题,怎么解…
-
leetCode-90-SubsetsII
题目描述(中等难度) “>78题解法二修改。我们看一下如果直接按照 78 题的思路会出什么问题。之前的思路是,先考虑 0 个数字的所有子串,再考虑 1 个的所有子串,再…
-
leetcode-91-Decode-Ways
題目描述(中等难度) 每个数字对应一个字母,给一串数字,问有几种解码方式。例如 226 可以有三种,2|2|6,22|6,2|26。 解法一 递归 很容易想到递归去解决,将大问题化…
-
leetCode-92-Reverse-Linked-ListII
题目描述(中等难度) 给定链表的一个范围,将这个范围内的链表倒置。 解法一 首先找到 m 的位置,记录两端的节点 left1 和 left2 。 然后每遍历一个节点,就倒置一个节点…
-
leetCode-93-Restore-IP-Addresses
题目描述(中等难度) 给一个字符串,输出所有的可能的 ip 地址,注意一下,01.1.001.1 类似这种 0 开头的是非法字符串。 解法一 回溯 递归 DFS 很类似于刚做过的 …
-
leetCode-94-Binary-Tree-Inorder-Traversal
题目描述(中等难度) 二叉树的中序遍历。 解法一 递归 学二叉树的时候,必学的算法。用递归写简洁明了,就不多说了。 public List<Integer> inorderT…
-
leetCode-95-Unique-Binary-Search-TreesII
题目描述(中等难度) 给一个 n,用1…n 这些数字生成所有可能的二分查找树。所谓二分查找树,定义如下: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点…
-
leetCode-96-Unique-Binary-Search-Trees
题目描述(中等难度) 和 “>95 题看一看。 解法一 递归 下边是 95 题的分析。 我们可以利用一下查找二叉树的性质。左子树的所有值小于根节点,右子树的所有值大于根…
-
leetCode-97-Interleaving-String
题目描述(困难难度) 在两个字符串 s1 和 s2 中依次取字母,问是否可以组成 S3。什么意思呢?比如 s1 = abc , s2 = de,s3 = abdce。 s1 取 1…
-
leetCode-98-Validate-Binary-Search-Tree
题目描述(中等难度) 输入一个树,判断该树是否是合法二分查找树,“>官方题解。 解法一中,我们是判断根节点是否合法,找到了左子树中最大的数,右子树中最小的数。 由左子树…
-
leetcode-99-Recover-Binary-Search-Tree
题目描述(困难难度) 依旧是二分查找树的题,一个合法的二分查找树随机交换了两个数的位置,然后让我们恢复二分查找树。不能改变原来的结构,只是改变两个数的位置。二分查找树定义如下: 若…
-
leetcode100斩回顾
leetcode 100 斩!从第 1 题开始,到现在也差不多快一年了,回顾纪念一下。 为什么开始刷题? 从大一就知道了 leetcode,但刷题总是三天打鱼,两天晒网,会发现刷过…
-
leetcode-100-Same-Tree
题目描述(简单难度) 判断两个二叉树是否相同。 解法一 这道题就很简单了,只要把两个树同时遍历一下,遍历过程中判断数值是否相等或者同时为 null 即可。而遍历的方法,当然可以选择…
-
leetcode-101-Symmetric-Tree
题目描述(简单难度) 判断一个二叉树是否关于中心轴对称。 解法一 和 “>100 题 是一样的,只不过这里的两棵树对应相等,是左对右,右对左。 作者:windliang…
-
leetcode-102-Binary-Tree-Level-Order-Traversal
题目描述(中等难度) 二叉树的层次遍历,输出一个 list 的 list。 解法一 DFS 这道题考的就是 BFS,我们可以通过 DFS 实现。只需要在递归过程中将当前 level…
-
leetcode-103-Binary-Tree-Zigzag-Level-Order-Traversal
题目描述(中等难度) 和 “>102 题 吧,直接在 102 题的基础上进行修改即可。从左到右和从右到左交替,所以我们只需要判断当前的 level,层数从 0 开始的话…
-
leetcode-104-Maximum-Depth-of-Binary-Tree
题目描述(简单难度) 输出二叉树的深度。 解法一 DFS 依旧是考的二叉树的遍历。最简单的思路就是用递归进行 DFS 即可。 public int maxDepth(TreeNod…
-
leetcode-105-Construct-Binary-Tree-from-Preorder-and-Inorder-Traversal
题目描述(中等难度) 根据二叉树的先序遍历和中序遍历还原二叉树。 解法一 递归 先序遍历的顺序是根节点,左子树,右子树。中序遍历的顺序是左子树,根节点,右子树。 所以我们只需要根据…
-
leetcode-106-Construct-Binary-Tree-from-Inorder-and-Postorder-Traversal
题目描述(中等难度) 根据二叉树的中序遍历和后序遍历还原二叉树。 思路分析 可以先看一下 “>105 题 的话,这道题很快就出来了,完全是 105 题的逆向思考。 作者…