码迷,mamicode.com
首页 >  
搜索关键字:中序    ( 2805个结果
非递归实现中序,先序,后序遍历二叉树部分代码
/*层次遍历,其实就是一个队列,先把根节点压入,之后进入循环,每次先弹出一个根节点,在输出值后,将其左右子树分别压入队列*/ void InorderTraversal(BinTree BT) { BinTree T; Stack S = CreateStack(100);//创建并初始化堆栈 wh ...
分类:其他好文   时间:2020-05-08 09:25:03    阅读次数:66
刷题95—树(二)
142题—148题 知识点: 二叉搜索树:一棵空树或者左子树小于根节点,右子树大于根节点的树 先序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍历:左子树->右子树->根节点 142.合法二叉搜索树 题目链接 来源:力扣(LeetCode)链接:https://lee ...
分类:其他好文   时间:2020-05-08 00:26:25    阅读次数:82
平衡二叉搜索树(最小高度树)
首先复习下二叉搜索树的定义: 在二叉搜索树中: 1.若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值。 2. 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结点的值。 3.任意结点的左、右子树也分别为二叉搜索树 总结一下就是,树的中序遍历可以得到一个升序序列。 那如 ...
分类:其他好文   时间:2020-05-07 00:57:57    阅读次数:73
【LeetCode-树】后继者
题目描述 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。 如果指定节点没有对应的“下一个”节点,则返回null。 示例: 思路 本质上是二叉树的中序遍历。使用 pre 表示当前节点的前一个节点,如果 pre val==目标值,输出当前节点即可。代码如下: 时间复杂度:O(n ...
分类:其他好文   时间:2020-05-06 18:07:43    阅读次数:62
105. 从前序与中序遍历序列构造二叉树
思路:前序是根左右,前序序列第一个元素一定是根。中序是左,根,右。根节点左边一定是左子树,右边一定是右子树。 树没有重复元素,所以,先找出根节点,初始化一个TreeNode root,再根据数值相同,找中序遍历里面的根节点,之后用Arrays.copyOfRange(preorder,1,num+1 ...
分类:其他好文   时间:2020-05-06 12:18:34    阅读次数:53
【LeetCode-树】二叉搜索树中第K小的元素
题目描述 给定一个二叉搜索树,编写一个函数?kthSmallest?来查找其中第?k?个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例: 题目链接: https://leetcode cn.com/problems/kth smallest elemen ...
分类:其他好文   时间:2020-05-06 12:02:09    阅读次数:46
【LeetCode-树】二叉搜索树的最小绝对差
题目描述 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 题目链接: https://leetcode cn.com/problems/minimum absolute difference in bst/ 思路 二叉搜索树的中序遍历序列是一个升序序列。任 ...
分类:其他好文   时间:2020-05-05 23:45:00    阅读次数:178
98.验证二叉排序树
解题(失败) 思路 分别遍历左右子树,用pre存储上一个节点,作比较 代码 本想把左右子树判断函数合并,但运行结果是错的,问题复杂化了,思路有问题 优解 思路 中序遍历时,判断当前节点是否大于中序遍历的前一个节点,如果大于,说明满足BST,继续遍历;否则直接返回false 代码 小结 做题前缺乏思考 ...
分类:编程语言   时间:2020-05-05 23:22:34    阅读次数:84
LeetCode 98
https://leetcode-cn.com/problems/validate-binary-search-tree/ 树题,没什么好说的,直接递归就完事了。 第一种,使用中序遍历将输出值保存在list中,然后检查这个list是否升序的就可以AC.不过这个方法比较慢,3ms,java上只击败了1 ...
分类:其他好文   时间:2020-05-05 11:01:33    阅读次数:48
2020.5.4 从前序与中序遍历序列构造二叉树 中等 105
解题思路 1. 看到题目想了想就知道用递归了,不断划分左右子树; 2. 这道题做了很久,因为对 "指针引用" 的不熟悉,一开始我使用的递归函数的返回类型为void,是通过指针作为递归函数的参数,不断更新树,最后改成这种容易看的方式; 3. 主要是要注意划分左右子树的索引,改了很多次都是因为递归时传右 ...
分类:其他好文   时间:2020-05-04 17:32:58    阅读次数:56
2805条   上一页 1 ... 19 20 21 22 23 ... 281 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!