贴上大佬的博客地址:https://labuladong.gitee.io/algo/2/18/20/ 这一部分总得来说比较简单,注意边界值的判断就行了。下面是贴上实际的代码 """ 翻转二叉树 https://leetcode-cn.com/problems/invert-binary-tree/ ...
分类:
其他好文 时间:
2021-06-25 16:45:06
阅读次数:
0
1、红黑树规则 a.节点颜色:黑色、红色 b.根节点是黑色,叶子NIL节点是黑色 c.如果一个节点是红色的,则它的子节点必须是黑色的。 d.从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。这样可以确保没有一条路径会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树。 2、调整红黑 ...
分类:
其他好文 时间:
2021-06-20 18:20:41
阅读次数:
0
#非空二叉树b的宽度 有三种解决方案 ##方案一 记录每个结点的所在层数 比较麻烦,最后还得写一个循环去找出结点数最多的层 ##方案二 加一个队列,在循环过程中就记录当前结点数最多的层 即用两个队列来完成层次遍历,上一层遍历完的时候那个队列也为空,此时另一个队列的长度就是该层的结点数量 ##方案三 ...
分类:
其他好文 时间:
2021-06-18 19:42:59
阅读次数:
0
您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 解法一:宽度优先搜索 List<Integer> res = new ArrayList<>(); public List<Integer> largestValues(T ...
分类:
其他好文 时间:
2021-06-18 19:10:47
阅读次数:
0
一、二叉树介绍 简单地理解,满足以下两个条件的树就是二叉树: 本身是有序树; 树中包含的各个节点的度不能超过 2,即只能是 0、1 或者 2; 二、二叉树的性质 经过前人的总结,二叉树具有以下几个性质: 二叉树中,第 i 层最多有 2i-1 个结点。 如果二叉树的深度为 K,那么此二叉树最多有 2K ...
分类:
其他好文 时间:
2021-06-18 18:57:03
阅读次数:
0
二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 遇到任何递归型的问题,无非就是灵魂三问: 1、这个函数是干嘛的? 情况 1,如果p和q都在以root为根的树中,函数返回的即使p和q的最近公共祖先节点。 情况 2,那如果p和q都不在以root为根的树中怎么办呢?函数理所 ...
分类:
其他好文 时间:
2021-06-17 16:40:10
阅读次数:
0
总结:一个题目不要想的很复杂,尽可能的让他很简单,如果程序走向复杂,一方面你的做法错了,另一方面可能是没意义,复杂的程序对自己的程序设计能力没有提高,同时复杂的程序没什么用 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = ...
分类:
其他好文 时间:
2021-06-11 18:42:12
阅读次数:
0
任何容器的底层数据结构只有两种:一种是数组;另一种是链表。例如:list,set,map,二叉树,图等容器。访问容器使用Iterator迭代器。 public interface Collection_ { void add(Object o); int size(); Iterator_ iter ...
分类:
其他好文 时间:
2021-06-10 18:43:23
阅读次数:
0
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 解法一:深度优先搜索 public ...
分类:
其他好文 时间:
2021-06-10 18:17:17
阅读次数:
0
简介 思路: 个数和序号相等 code class Solution { int size = 0; int maxCode = 0; public boolean isCompleteTree(TreeNode root) { if(root == null) return true; recur ...
分类:
其他好文 时间:
2021-06-10 17:38:44
阅读次数:
0