1. 链表 1. 从尾到头打印链表 2. 链表中倒数第k个结点 3. 反转链表 4. 合并两个排序的链表 5. 复杂链表的复制 6. 复杂链表的复制 7. 两个链表的第一个公共结点 8. 链表中环的入口结点 9. 删除链表中重复的结点 2. 二叉树 10. 重建二叉树 11. 树的子结构 12. 二 ...
分类:
其他好文 时间:
2019-06-01 19:29:47
阅读次数:
175
树的遍历 三种遍历方式 1. 前序遍历 首先访问根节点,然后递归地做左侧子树的前序遍历,随后是右侧子树的递归前序遍历。 2. 中序遍历 递归地对左子树进行一次遍历,访问根节点,最后递归遍历右子树。 3. 前序遍历 递归地对左子树和右子树进行后序遍历,然后访问根节点。 前序遍历 树的遍历代码十分简洁, ...
分类:
其他好文 时间:
2019-05-27 13:26:54
阅读次数:
106
1,二叉树是否只有一种遍历方式(层次遍历)? 2,典型的二叉树的遍历方式: 1,先序遍历(Pre-Order Traversal); 2,中序遍历(In-Order Traversal); 3,后序遍历(Post-Order Traversal); 3,先序遍历(“先序”指最先访问根结点中的数据元素 ...
分类:
其他好文 时间:
2019-05-26 16:24:37
阅读次数:
148
1,什么是线索化二叉树? 1,将二叉树转换为双向链表的过程(非线性 ==> 线性); 1,实际工程开发中,很大一部分情况下,二叉树一旦建立之后,就不会轻易改动,一般的用于遍历,并且这种操作一般执行很多; 2,先中后序遍历都是递归完成的,实际工程开发中,对一棵已经建立的二叉树反复执行先序遍历,效率低, ...
分类:
其他好文 时间:
2019-05-26 15:50:13
阅读次数:
109
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。classSolution:"""一个二叉搜索树BST满足:max(左子树)<根节点<min(右子树)由于题目给出的是一个后序遍历,那么序列的最后一个元素就应该是根节点。因此我们从BST的定义出发,遍历整个序列,找到第一个大于根节点的元素k,
分类:
其他好文 时间:
2019-05-23 23:08:02
阅读次数:
130
#include #include #include using namespace std; /* 二叉树遍历算法递归+非递归: 前序遍历:根->左->右 中序遍历:左->根->右 后序遍历:左->右->根 层次遍历 */ struct TreeNode { int val; TreeNode *... ...
分类:
其他好文 时间:
2019-05-23 21:18:19
阅读次数:
129
Return any binary tree that matches the given preorder and postorder traversals. Values in the traversals and are distinct?positive integers. Example ...
分类:
其他好文 时间:
2019-05-23 00:01:38
阅读次数:
136
题目描述 给定一个二叉树,返回它的 后序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 分析 后序遍历顺序是 left right root 贴出代码 ...
分类:
其他好文 时间:
2019-05-22 22:37:19
阅读次数:
142
题目:二叉搜索树的后续遍历数列 要求:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 左图的正确后序遍历序列5、7、6、9、1 1、10、8 第一:递归求解方法 bug1: 关于16行到底是返回temp+1还 ...
分类:
其他好文 时间:
2019-05-18 20:35:48
阅读次数:
254
#-*-codding:utf-8-*-classNode(object):"""节点"""def__init__(self,item):self.elem=itemself.lchild=Noneself.rchild=NoneclassTree(object):"""二叉树"""def__init__(self):self.root=Nonedefadd(self,item):node=Nod
分类:
编程语言 时间:
2019-05-16 10:51:56
阅读次数:
110