上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页
摘要: ☆☆ class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { /** * 方法1:递归 */ if (p.val < root.val && q.val < root 阅读全文
posted @ 2020-12-25 16:10 不学无墅_NKer 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 【举一反三】:在二叉树中找到累加和为指定值的最长路径长度 左神P115 ☆☆☆☆思路1:双重递归,第一个递归用来遍历这些节点,这二个递归用来处理这些节点,进行dfs。 思路1的缺点是存在大量重复计算,时间效率差 ☆☆☆☆☆思路2:前缀和 递归回溯。 时间复杂度为O(n),空间复杂度为O(n) 代码1 阅读全文
posted @ 2020-12-25 12:14 不学无墅_NKer 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 最笨的方法可以先求出所有的路径,然后转换成对应的数字,最后求和。但是时间效率很差(耗时3ms) ☆☆☆方法1:DFS 方法2:BFS 代码1:DFS(耗时0ms) class Solution { public int sumNumbers(TreeNode root) { return dfs(r 阅读全文
posted @ 2020-12-24 22:25 不学无墅_NKer 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 本题同剑指24.二叉树中和为某一值的路径 本题相似题目:LeetCode257. 二叉树的所有路径 ☆☆☆☆☆方法1:DFS前序遍历 + 回溯 ☆☆方法2:BFS层序遍历。 ☆☆☆方法3:递归 代码1:DFS前序遍历 + 回溯(耗时1ms) class Solution { public List< 阅读全文
posted @ 2020-12-24 21:00 不学无墅_NKer 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一看就会一写就废(╯﹏╰) ☆☆☆方法1:DFS前序遍历。路径是从根开始的, 于是想到前序遍历 ☆☆☆方法2:BFS层序遍历。 ☆☆☆☆方法3:递归。 代码1: class Solution { public List<String> binaryTreePaths(TreeNode root) { 阅读全文
posted @ 2020-12-23 20:47 不学无墅_NKer 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 背景知识: 完全二叉树:除了最后一层,所有层的节点数达到最大,与此同时,最后一层的所有节点都在最左侧。(堆使用完全二叉树) 满二叉树:所有层的节点数达到最大。一棵层数为 h 的满二叉树,其节点数为2^h - 1个。 思路1:层序遍历 或 递归 遍历整棵树。 但没用到 完全二叉树 的性质。。不可取 思 阅读全文
posted @ 2020-12-23 19:28 不学无墅_NKer 阅读(168) 评论(0) 推荐(0) 编辑
摘要: ☆方法1:递归 方法2:BFS class Solution { public int sumOfLeftLeaves(TreeNode root) { /** * 方法1:递归 */ if (root == null) return 0; // 对当前节点进行处理 int count = 0; i 阅读全文
posted @ 2020-12-22 22:33 不学无墅_NKer 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树:每一个节点的左右子树的高度差不超过1. 对于一颗树,它是一个平衡二叉树需要满足三个条件:它的左子树是平衡二叉树,它的右子树是平衡二叉树,它的左右子树的高度差不大于1。 本题同:剑指39.平衡二叉树 本题的递归关键是找好递归的返回值。 ☆☆☆思路1:自顶向下的递归,类似于前序遍历。借助一个 阅读全文
posted @ 2020-12-22 21:54 不学无墅_NKer 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 相同题目:剑指58.对称的二叉树 ☆☆☆☆方法1:递归。总体思路是判断两个子树相反位置上的值是否相等。 ☆☆☆☆方法2:迭代。 需要注意:如果二叉树所有节点值都相等,但结构不同仍然不对称,因此需要把节点是 null 的情况考虑进来。 class Solution { public boolean i 阅读全文
posted @ 2020-12-22 20:28 不学无墅_NKer 阅读(33) 评论(0) 推荐(0) 编辑
摘要: class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; if (p == null || q == null) return false 阅读全文
posted @ 2020-12-22 17:30 不学无墅_NKer 阅读(24) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页