![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
郑兽兽
睡在哪里都是睡在夜里
展开
-
合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。来源:力扣(LeetCode)代码:/** * Definition for a binary tree node. * public class...原创 2020-05-06 22:18:34 · 111 阅读 · 0 评论 -
层序遍历二叉树
分析:层序遍历二叉树借助队列实现,先放入根节点,取队首,遍历根节点,再放入其左子树,右子树,再取,依次遍历。代码:public class TreeTest { static class TreeNode{ TreeNode left; TreeNode right; int val; public TreeNode(i...原创 2020-04-22 22:19:46 · 127 阅读 · 0 评论 -
对称二叉树(力扣习题)
题目描述:给定一个二叉树,检查它是否是镜像对称的。实例:代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; }...原创 2020-04-22 22:03:07 · 102 阅读 · 0 评论 -
平衡二叉树(力扣习题)
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode ...原创 2020-04-22 21:50:19 · 619 阅读 · 0 评论 -
二叉树的最大深度(力扣习题)
题目描述:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:来源:力扣代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...原创 2020-04-22 21:41:30 · 114 阅读 · 0 评论 -
判断一个树是否为二叉树的子树(力扣习题)
题目描述:给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例:来源:力扣(LeetCode)代码:/** * Definition for a binary tree node. * public class TreeNode { * int ...原创 2020-04-22 21:31:27 · 344 阅读 · 0 评论 -
给定两个二叉树,编写一个函数来检验它们是否相同。(力扣习题)
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例:来源:力扣(LeetCode)。代码:** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tr...原创 2020-04-22 21:22:58 · 600 阅读 · 0 评论 -
二叉树的后序遍历(力扣题)
给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3]输出: [3,2,1]来源:力扣(LeetCode)代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode righ...原创 2020-04-20 20:53:33 · 266 阅读 · 0 评论 -
二叉树的中序遍历(力扣)
给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]来源:力扣(LeetCode)代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeN...原创 2020-04-20 20:49:44 · 172 阅读 · 0 评论 -
二叉树的前序遍历(力扣题)
给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]输出: [1,2,3]来源:力扣(LeetCode)代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode righ...原创 2020-04-20 20:45:08 · 209 阅读 · 0 评论 -
使用递归查找二叉树是否存在某个节点(查找二叉树是否存在某个值)
下面是一个二叉树,查找某个值是否存在。代码:public class TestTree { static class Node { public char val; public Node left; public Node right; public Node(char val) { this....原创 2020-04-20 20:38:41 · 2448 阅读 · 0 评论 -
求二叉树第K层节点个数(递归)
下面是一个二叉树,我们需要求得第K层的节点个数。代码:public class TestTree { static class Node { public char val; public Node left; public Node right; public Node(char val) { t...原创 2020-04-20 20:25:03 · 3576 阅读 · 0 评论 -
求二叉树的叶子节点个数(递归)
下面是一个二叉树,我们需要编写代码求其的叶子节点个数。分析:一个树的左子树和右子树都为null就是叶子节点,我们需要对每个数进行判断,依次遍历,遇到满足条件的进行计数即可。我在下面用了两种方法,其中一种是借助静态成员变量代码:public class TestTree { static class Node { public char val; p...原创 2020-04-20 20:07:38 · 9755 阅读 · 0 评论 -
求二叉树节点个数(递归)
下面有一个二叉树,求其节点个数。分析:想要得到二叉树的节点个数,我们可以递归遍历这个二叉树,当一个树的根节点不为null时,对其计数。我在下面得代码里写了两种方法,一种是借助成员变量,一种是直接递归计数。代码:public class TestTree1 { static class Node { public char val; public ...原创 2020-04-19 21:15:36 · 7567 阅读 · 0 评论 -
二叉树的三种递归遍历(前序,中序,后序)
今天跟大家分享二叉树常见的三种遍历方式。根据访问结点操作发生位置命名。NLR:前序遍历(Preorder Traversal 亦称先序遍历)——访问根结点的操作发生在遍历其左右子树之前。LNR:中序遍历(Inorder Traversal)——访问根结点的操作发生在遍历其左右子树之中(间)。LRN:后序遍历(Postorder Traversal)——访问根结点的操作发生在遍历其左右子树...原创 2020-04-19 20:17:02 · 815 阅读 · 0 评论