题目非常简单,之所以记录一下是因为总是忽略中序遍历的特性:排序二叉树中序遍历会得到一个有序数组。该特性很实用也很神奇,就像一颗满二叉排序树的根节点必然是对应有序数组的中点一样。该特性可以帮助我们更好的理解排序树的结构。 List<Integer> re=new LinkedList<Integer> ...
分类:
其他好文 时间:
2020-05-11 01:04:03
阅读次数:
56
前置知识: BST二叉搜索树: 度娘曰: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 也就是说,你把它从根节点中序遍历一边就能得到一个从小到大的数列。 大概长这样子: 对于4:左边子树节点的权值为0 1 2 3,都比 ...
分类:
其他好文 时间:
2020-05-10 21:11:03
阅读次数:
186
欢迎关注个人公众号摸鱼范式 [toc] 序列模三(整除3)检测器 授权转发 作者:love小酒窝 链接:https://www.cnblogs.com/lyc seu/p/12768321.html 描述:输入口是1bit,每次进来一位数据,检查当前序列是否能整除3,能则输出1,否则输出0. 例如 ...
分类:
其他好文 时间:
2020-05-10 19:34:06
阅读次数:
77
力扣题解 26th 删除排序数组中的重复项 双指针法/游标思想 定义: i i为游标,它代表了答案序列的脚步。j用来探测当前序列后面的数字是否与i位置的数字相同,若相同就跳过,若不同就让它覆盖下一位置的元素。 ...
分类:
编程语言 时间:
2020-05-10 15:11:29
阅读次数:
69
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析: 根据先序遍历序列第一个节点确定根节点。 根据根节 ...
分类:
其他好文 时间:
2020-05-10 11:01:30
阅读次数:
69
面试题004 重建二叉树 题目表述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路: 递归思想。前 ...
分类:
编程语言 时间:
2020-05-09 23:25:07
阅读次数:
73
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:使用递归的思想。 1 前序遍历的第一个数字pr ...
分类:
其他好文 时间:
2020-05-09 21:35:55
阅读次数:
50
题意描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节 ...
分类:
其他好文 时间:
2020-05-09 20:39:56
阅读次数:
49
题目: 解答: 1 // 中序遍历即可。只需要记录一个pre指针即可。 2 3 4 class Solution { 5 public: 6 TreeNode* Convert(TreeNode* pRootOfTree) 7 { 8 if(pRootOfTree == nullptr) 9 { 1 ...
分类:
其他好文 时间:
2020-05-09 17:05:24
阅读次数:
63
题目: 解答: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : ...
分类:
其他好文 时间:
2020-05-09 13:08:27
阅读次数:
76