递归算法
IDEA_TEYU_1112
其实吧压力也没那么大
展开
-
Leetcode刷题java之235. 二叉搜索树的最近公共祖先
执行结果:通过显示详情执行用时 :11 ms, 在所有 Java 提交中击败了71.66% 的用户内存消耗 :40.7 MB, 在所有 Java 提交中击败了21.10%的用户题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先...原创 2019-08-13 20:08:40 · 282 阅读 · 0 评论 -
Leetcode刷题java之100. 相同的树
执行结果:通过显示详情执行用时 :0 ms, 在所有Java提交中击败了100.00%的用户内存消耗 :34.8 MB, 在所有Java提交中击败了77.42%的用户题目:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。思路:利用深度遍历逐个进行比较即可。代码:/** * De...原创 2019-08-18 09:44:16 · 226 阅读 · 0 评论 -
Leetcode刷题java之530. 二叉搜索树的最小绝对差
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了96.27%的用户内存消耗 :40.2 MB, 在所有Java提交中击败了83.77%的用户题目:给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。示例 :输入: 1 \ 3 / 2输出:1解释:最小绝对差为1...原创 2019-08-17 20:16:10 · 362 阅读 · 0 评论 -
Leetcode刷题java之538. 把二叉搜索树转换为累加树
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了93.19%的用户内存消耗 :44.3 MB, 在所有Java提交中击败了67.32%的用户题目:给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 二叉搜索树...原创 2019-08-17 19:27:04 · 269 阅读 · 0 评论 -
Leetcode刷题java之257.二叉树的所有路径
执行结果:通过显示详情执行用时 :3 ms, 在所有Java提交中击败了92.18%的用户内存消耗 :36.3 MB, 在所有Java提交中击败了97.17%的用户题目:给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2...原创 2019-08-17 18:59:39 · 489 阅读 · 0 评论 -
Leetcode刷题java之21. 合并两个有序链表(递归和迭代)
题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-list...原创 2019-08-22 10:34:38 · 687 阅读 · 0 评论 -
Leetcode刷题java之700. 二叉搜索树中的搜索
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :49.7 MB, 在所有 Java 提交中击败了31.55%的用户题目:定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: ...原创 2019-08-11 19:04:43 · 264 阅读 · 0 评论 -
Leetcode刷题java之590. N叉树的后序遍历
执行结果:通过显示详情执行用时 :3 ms, 在所有 Java 提交中击败了90.01% 的用户内存消耗 :52 MB, 在所有 Java 提交中击败了76.37%的用户题目:给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个3叉树:返回其后序遍历: [5,6,3,2,4,1].思路:采用迭代方法,进行后序遍历代码:/*...原创 2019-08-11 18:41:40 · 422 阅读 · 0 评论 -
Leetcode刷题java之589. N叉树的前序遍历
执行结果:通过显示详情执行用时 :3 ms, 在所有 Java 提交中击败了89.20% 的用户内存消耗 :55.5 MB, 在所有 Java 提交中击败了58.08%的用户题目:给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历: [1,3,5,6,2,4]。思路:利用递归算法进行前序遍历,与二叉树的前序遍...原创 2019-08-11 18:32:43 · 440 阅读 · 0 评论 -
Leetcode刷题java之104. 二叉树的最大深度
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了98.90% 的用户内存消耗 :37.3 MB, 在所有 Java 提交中击败了47.65%的用户题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,1...原创 2019-08-11 18:16:23 · 280 阅读 · 0 评论 -
Leetcode刷题java之226. 翻转二叉树
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了89.88% 的用户内存消耗 :35 MB, 在所有 Java 提交中击败了38.99%的用户题目:翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2...原创 2019-08-11 16:49:23 · 437 阅读 · 0 评论 -
Leetcode刷题java之872. 叶子相似的树
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了67.95% 的用户内存消耗 :35.4 MB, 在所有 Java 提交中击败了49.39%的用户题目:请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。如果两棵树的叶子序列相同,则返回true思路:利用递归与深度优先遍历的思想,如果当前节点的左和右都是空,...原创 2019-08-14 10:49:13 · 275 阅读 · 1 评论 -
Leetcode刷题java之897. 递增顺序查找树
执行结果:通过显示详情执行用时 :11 ms, 在所有 Java 提交中击败了86.44% 的用户内存消耗 :46.3 MB, 在所有 Java 提交中击败了75.50%的用户题目:给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。示例 :输入:[5,3,6,2,4,null,8,1,null,nul...原创 2019-08-14 09:25:56 · 357 阅读 · 1 评论 -
Leetcode刷题java之653. 两数之和 IV - 输入 BST
执行结果:通过显示详情执行用时 :10 ms, 在所有Java提交中击败了67.87%的用户内存消耗 :47.2 MB, 在所有Java提交中击败了73.05%的用户题目:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。思路:既然是二叉搜索树的话,我们可以利用中序遍历将内容从小到大存储到一个lis...原创 2019-08-18 10:24:57 · 323 阅读 · 1 评论