二叉树
文章平均质量分 56
qq_23217629
这个作者很懒,什么都没留下…
展开
-
java 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。比如将二元查找树 10 / \原创 2016-06-24 11:14:50 · 5917 阅读 · 1 评论 -
java 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序序列和中序序列的结果都不含重复的数字,例如输入前序序列{1,2,4,7,3,5,6,8}和中序序列{4,7,2,1,5,3,8,6},则重建树并输出它的头结点,二叉树的头结点定义如下:struct BinaryTreeNode{ int m_value; BinryTreeNode *pleft;原创 2016-06-20 10:20:46 · 10304 阅读 · 6 评论 -
java 操作给定的二叉树,将其变换为源二叉树的镜像。
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7原创 2016-06-23 10:15:05 · 2022 阅读 · 0 评论 -
java 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路还是很清晰的,使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来public class Solution { public ArrayList PrintFromTopToBottom(TreeNode root原创 2016-06-23 16:35:39 · 5264 阅读 · 0 评论 -
java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。分析问题对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中,从最开始到第一个大于根节点的数都是左子树中的数,而后面到倒数第二个数应该都是大于根节点的,是右子树,如果后面的数中有小于根节点的,那么说明这原创 2016-06-23 17:10:26 · 6193 阅读 · 0 评论 -
java 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。ArrayList arry = new ArrayList(); public ArrayList> FindPath(TreeNode root, int target) { ArrayList> list = new Ar原创 2016-06-23 19:47:41 · 4212 阅读 · 0 评论