随笔分类 -  二叉树题

摘要:题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 题目详解 find(root.left,target,res,new ArrayLis 阅读全文
posted @ 2020-03-20 11:47 xxcnotes 阅读(102) 评论(0) 推荐(0)
摘要:题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 题目详解 二叉搜索树:左子树均小于根节点,右子树均大于根节点。 此二叉搜索树的后序遍历为 5 7 6 9 11 10 8 第一步:先找出根节点 8。 阅读全文
posted @ 2020-03-20 11:34 xxcnotes 阅读(136) 评论(0) 推荐(0)
摘要:题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 题目详解 因为同层节点需要从左至右打印,采用递归的话不好控制。 因此采用队列的形式,先进先出,依次向里面加入左节点,右节点。 queue.offer queue.poll Queue<TreeNode> queue = new Lin 阅读全文
posted @ 2020-03-20 11:16 xxcnotes 阅读(174) 评论(0) 推荐(0)
摘要:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 完整程序 /** public class TreeNode { int val = 0; 阅读全文
posted @ 2020-03-20 11:03 xxcnotes 阅读(129) 评论(0) 推荐(0)
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 详解 第一步:从前序序列中找到根节点 1;从中序序列 阅读全文
posted @ 2020-03-20 10:57 xxcnotes 阅读(104) 评论(0) 推荐(0)
摘要:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 详解 先判断两二叉树的根节点的值是否相等。相等则进行判断,如果一直递归到最后 B==null,说明B是子结构。如果到最后A == null,说明B不是子结构。如果A.val != B.val,说明不 阅读全文
posted @ 2020-03-20 10:47 xxcnotes 阅读(102) 评论(0) 推荐(0)