二叉树
文章平均质量分 59
Vanilla_Chi
这个作者很懒,什么都没留下…
展开
-
树与二叉树基本性质相关
树的基本性质相关树的结点包含一个数据及指向子树的分支。结点拥有的子树数称为结点的度。度为0的结点称为叶结点。树的度是树的各节点度的最大值。结点的层次从根开始定义,根为第一层,根的孩子为第二层…..树中结点的最大层次称为树的深度或者高度。二叉树的基本性质相关二叉树每个结点最多有两棵子树,不存在度大于2的结点。左右子树是有序的。二叉树的形态:空二叉树,只有根结点,根结点只有左子树,根结点只有右原创 2015-04-09 20:03:04 · 567 阅读 · 0 评论 -
二叉查找树构建
给定n构建最大值为n的二叉查找树——树的形态种类 https://leetcode.com/problems/unique-binary-search-trees/ Given n, how many structurally unique BST’s (binary search trees) that store values 1…n? For example, Given n = 3,原创 2015-05-25 19:24:05 · 1187 阅读 · 0 评论 -
二叉查找树相关判断
判断给定树是否为二叉查找树来源leetcode98 https://leetcode.com/problems/validate-binary-search-tree/ 思路:刚开始想的是,当前树左子小于当前节点并且右子大于当前节点并且其两个子树也递归满足这样条件时成立。 代码如下public boolean ifBinarySearchTree(TreeNode root){ if原创 2015-05-25 19:39:10 · 476 阅读 · 0 评论 -
树与二叉树
二叉树的基本性质相关普通二叉树创建: 先序二叉树,中序二叉树,后序二叉树。 给定两种遍历序列(前序中序或后序中序),重塑二叉树 遍历: 判断一个节点是否存在于二叉树中 二叉树的遍历(先序,中序,后序)递归/非递归 层次遍历(从上到下或从下到上打印) ZigZag遍历方式层次遍历 二叉树性质: 二叉树中叶子节点的个数 二叉树第K层节点数目 二叉树高度、最小高度 树的判断 判原创 2015-03-23 10:54:27 · 619 阅读 · 0 评论 -
PathSum问题
树的节点结构: public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }1.Root-to-Leaf Path(1)判断是否有一条从根到叶子的路径,使得路径和等于某个值 https://leetcode.com/problems/p原创 2015-05-21 10:22:53 · 594 阅读 · 0 评论 -
构建二叉树
以#为终止符构建先序二叉树eg. 12#4#5##3##public int index = 0;public TreeNode constructPreorderTree(char[] str){ if(str[index++] == '#') return null; TreeNode node = new TreeNode(str[index]-'0'); index原创 2015-05-28 09:34:50 · 521 阅读 · 0 评论 -
二叉树转换成其他结构
将二叉树变为链表https://leetcode.com/problems/flatten-binary-tree-to-linked-list/Given 1 / \ 2 5 / \ \ 3 4 6The flattened tree should look like: 1 \ 2原创 2015-05-21 11:00:45 · 480 阅读 · 0 评论 -
二叉查找树其他操作
将二叉搜索树转变为排序的双向链表来源:剑指offer27 思路:想成是中序遍历的变形,可以利用中序遍历的非递归方式不断压栈弹栈,保存前一个节点与其互指。 也可以使用递归方式,每次可以返回已成形链表的最后一个节点,用给节点连接当前节点,再将当前节点的右子树的最小节点连接起来。public TreeNode last = null;public TreeNode Convert(TreeNode原创 2015-05-27 20:23:19 · 423 阅读 · 0 评论 -
树的判断
树的结构为public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int x) { val = x; }}判断两个树结构是否相同https://leetcode.com/problem原创 2015-04-17 16:22:35 · 660 阅读 · 0 评论 -
二叉树遍历相关
树的结构为public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int x) { val = x; }}判断一个结点是否存在于二叉树中递归判断即可public boolean ifE原创 2015-04-17 10:22:55 · 629 阅读 · 1 评论 -
获取二叉树性质相关
树的结构为public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int x) { val = x; }}二叉树中叶子节点的个数叶子指没有两个孩子的节点。递归的方法是,一个节点下的叶子原创 2015-04-09 20:39:56 · 560 阅读 · 0 评论 -
二叉树其他操作
二叉树的镜像剑指offer19 1 1 / \ / \ 2 3 --> 3 2 / \ 4 4public TreeNode getIso(TreeNode root){ if(root == null) return null; TreeNode nRoo原创 2015-05-21 16:53:20 · 493 阅读 · 0 评论