二叉树
一只前进的菜菜鸟
这个作者很懒,什么都没留下…
展开
-
按之字形顺序打印二叉树
描述给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)数据范围:0 \le n \le 15000≤n≤1500,树上每个节点的val满足|val| <= 100∣val∣<=100要求:空间复杂度:O(n)O(n),时间复杂度:O(n)O(n)例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树之字形层序遍历的结果是 [[1],[3,2],[4,5]]思路:如果当前层是从左往右的顺序访问,那么下一层入栈和当前..原创 2021-12-19 17:30:25 · 95 阅读 · 0 评论 -
二叉树中和为某一值的路径(回溯法)
题目描述:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点 开始往下一直到叶结点所经过的结点形成一条路径。例如:我们输入的整数为7,就有以下4种路径。思路:首先我们看到回溯法的题:首先脑子里要能想到 深度优先遍历,结果集,待选结果!!!回溯的本质:穷举的过程,在穷举的过程中要进行剪枝。回溯过程:1.先添加根结点2.更新目标值3.判断是否满足条件4.DFS5.回退代码实现:import.原创 2021-12-03 19:34:15 · 659 阅读 · 0 评论 -
二叉搜索树的后序遍历
题目描述:输入一个非空整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输 入的数组的任意两个数字都互不相同。 二叉搜索树:左子树一定小于根结点,右子树一定大于根节点,所有的子树也满足这样的条件例如:思路:①对于合法的序列,二叉搜索树的后续遍历的最后一个节点是根结点 ②如果去掉最后一个结点,可以把序列分成2部分,前一部分(左子树)小于根结点,后一部分(右子树)大于根结点 ③由于每...原创 2021-12-03 15:41:24 · 682 阅读 · 0 评论 -
二叉树的基本操作
目录一、二叉树的前序遍历二、二叉树的中序遍历三、二叉树的后序遍历四、二叉树的层序遍历五、求结点个数六、求叶子结点个数七、求第k层结点个数八、获取二叉树的高度九、查找val所在的结点一、二叉树的前序遍历前序:先遍历根结点——>左结点——>右结点思路:①先建立链表存放要打印的结点②如果根节点为空,返回③如果根结点不为空,递归遍历代码实现:class Solution { publ...原创 2021-11-07 20:12:44 · 124 阅读 · 0 评论