二叉搜索里左子树的值都小于根节点的值,右子树的值都大于根节点的值,如果按从小到大顺序排的话,顺序是跟中序遍历一致的,首先想到的思路是对树进行中序遍历,用一个vector把每个节点都存起来,然后将每个节点双向连接起来,但显然并不是出题者想看到的方法。于是开始往递归的方向想,首先想到的是将根节点左边与左 ...
分类:
其他好文 时间:
2021-05-24 16:37:01
阅读次数:
0
给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例 2: 输入:root = [10,5,15,3,7,13,18,1,n ...
分类:
其他好文 时间:
2021-04-27 15:25:18
阅读次数:
0
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它可以是一棵空树,也可以是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜 ...
分类:
其他好文 时间:
2021-04-21 12:31:46
阅读次数:
0
二叉树——102. 二叉树的层序遍历 题目: 思路: 就是层序遍历,一层层扫下去,然后通过队列去实现,一个队列先暂存这一层的所有结点,然后另一个队列通过push_back的方式,实现从左到右的访问。 代码: class Solution { public: vector<vector<int>> l ...
分类:
其他好文 时间:
2021-04-08 12:59:26
阅读次数:
0
题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/994805345078067200 题解 题目要求 假设二叉树中所有结点的值都是互异的正整数,给定二叉树的先序和后序遍历,请输出该树后序遍历的第一个数字。 输入 N:正整 ...
分类:
其他好文 时间:
2020-09-17 18:55:01
阅读次数:
33
二叉树的遍历 树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实 ...
分类:
其他好文 时间:
2020-09-09 19:03:13
阅读次数:
33
Document.write() 方法将一个文本字符串写入一个由 document.open() 打开的文档流(document stream)。 注意: 因为 document.write 需要向文档流中写入内容,所以,若在一个已关闭(例如,已完成加载)的文档上调用 document.write, ...
分类:
其他好文 时间:
2020-08-27 17:11:29
阅读次数:
63
题目引出的思考: 前面学习中,一般都是需要前序+中序或者后序+中序才能构建出一颗二叉树,故本道题中一开始并未给出中序遍历,心中疑惑便出,是否该二叉树不唯一?再细看是二叉排序树,仔细分析显然可得二叉排序树中的中序遍历必然是递增的,故排除自己的错误想法。 证明: 如果一棵非空二叉树(所有结点值均不相同) ...
分类:
编程语言 时间:
2020-07-30 14:49:05
阅读次数:
129
题目大意 在一棵以结点 $1$ 为根的树上有 \(n\) 个结点,每个结点上有一个小写字母,每个点的深度定义为根结点到该结点路径上的点数。 现在有 \(m\) 次询问 \(a,b\) ,要求输出以结点 \(a\) 为根的子树上深度为 \(b\) 的所有结点上的字母,重新排列后能否形成回文串。 其中, ...
分类:
其他好文 时间:
2020-07-30 10:50:54
阅读次数:
64
引入 BST(二叉排序树) 一棵空树,或者是具有下列性质的二叉树: 若左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若右子树不空,则右子树上所有结点的值均大于它的根结点的值; 左、右子树也分别为二叉排序树; 没有键值相等的结点。 但是当插入数据有序时, BST会退化为一条链, 时间复杂度 ...
分类:
其他好文 时间:
2020-07-12 12:27:56
阅读次数:
53