随笔分类 - 

摘要:public class TreeNode { public int data; public TreeNode leftChild; public TreeNode rightChild; public TreeNode(int data){ this.data = data; }} /** * 阅读全文
posted @ 2021-08-20 20:41 码到成功hy 阅读(337) 评论(0) 推荐(0) 编辑
摘要:统计二叉树叶子结点数目 叶子结点:就是它的左右孩子都为空的结点称为叶子结点。 思路:递归遍历二叉树 1、如果当前结点为空,就返回0; 2、如果它的左孩子和右孩子为空就说明它是叶子结点,返回1 3、如果条件2不满足就说明它有孩子结点,继续递归调用,分为左右孩子去调用。 代码如下: public cla 阅读全文
posted @ 2021-07-29 15:40 码到成功hy 阅读(2630) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例1: 输入:root = [3,9,20,null,null,15,7] 输出:true示例2: 输入:root = [1,2,2,3,3,nul 阅读全文
posted @ 2021-03-11 22:17 码到成功hy 阅读(280) 评论(0) 推荐(0) 编辑
摘要:给定一个 N 叉树,返回其节点值的前序遍历 。 N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例1 输入:root = [1,null,3,2,4,null,5,6] 输出:[1,3,5,6,2,4]示例2: 输入:root = [1,null,2, 阅读全文
posted @ 2021-03-10 23:31 码到成功hy 阅读(515) 评论(0) 推荐(0) 编辑
摘要:你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)" 解释: 原本将... 阅读全文
posted @ 2019-07-25 23:51 码到成功hy 阅读(1165) 评论(0) 推荐(0) 编辑
摘要:递归思想: 迭代思想: 阅读全文
posted @ 2019-07-25 12:58 码到成功hy 阅读(625) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉树,判断是否平衡二叉树; 所谓的平衡二叉树就是左节点小于根节点,根节点小于右结点, 我们对平衡二叉树进行中序遍历,得到的结果就是一个升序,我们的解题思路也是这个法子 代码如下: 阅读全文
posted @ 2019-07-24 23:44 码到成功hy 阅读(504) 评论(0) 推荐(0) 编辑
摘要:思路:用高度大于2的二叉树举例来说吧,也就是上面第一个例子,只要结点1的左孩子和结点2的右孩子相等,并且结点1的右孩子和结点2的左孩子相等,我们就认为是镜像,前提是结点1和结点2兄弟结点; 递归实现如下: 非递归如下: 阅读全文
posted @ 2019-07-24 23:39 码到成功hy 阅读(2945) 评论(1) 推荐(0) 编辑
摘要:思想:利用分治的思想来解决该题 具体解题步骤: 1.根据先序遍历,我们可以知道根节点就是给定数组的第一个元素pre[0],那么我们就可以在中序遍历中找出值等于pre[0]的位置,该位置的前半部分就是左子树,右半部分就是右子树, 2.重复1,直到遍历完 实现代码如下: 阅读全文
posted @ 2019-07-22 23:29 码到成功hy 阅读(3133) 评论(0) 推荐(2) 编辑
摘要:二叉树的四种遍历方式: 二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。四种遍历方式分别为:先序遍历、中序遍历、后序遍历、层序遍历。 遍历之前,我们首先介绍一下,如何创建一个二叉树,在这里用的 阅读全文
posted @ 2019-07-22 23:17 码到成功hy 阅读(146036) 评论(16) 推荐(21) 编辑

获取

hahah

name age option