摘要: ☆方法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 阅读(98) 评论(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:递归 ☆☆☆方法2:BFS。使用两个队列,分别存储将要遍历的节点,以及根节点到这些节点的路径和。 拓展练习:打印路径 >LeetCode113. 路径总和 II、 剑指24.二叉树中和为某一值的路径 class Solution { public boolean hasPathSum( 阅读全文
posted @ 2020-12-22 12:04 不学无墅_NKer 阅读(53) 评论(0) 推荐(0) 编辑
摘要: ☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 阅读全文
posted @ 2020-12-22 10:12 不学无墅_NKer 阅读(68) 评论(0) 推荐(0) 编辑