摘要: 题目:判断一棵树的左子树和右子树是否对称。 解题思路: 阅读全文
posted @ 2019-10-05 22:43 B_luePhantom 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题意:判断两棵树是否为相同的树。 那么思路很简单了,判断当前结点和左右子树就行了。 阅读全文
posted @ 2019-10-05 14:32 B_luePhantom 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题意:找出“BST”中不符合规律的两个结点。 解题思路: 在这里,我采用的是非递归中序遍历,使用pre记录前驱,tmp记录当前结点。 其实,这个题就是在建立中序线索二叉树。 https://www.cnblogs.com/yy-1046741080/p/11511263.html 对于中序遍历,弹栈 阅读全文
posted @ 2019-10-04 13:10 B_luePhantom 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题意:给出头结点,让你判断这颗树是不是二叉搜索树。 思路: 很显然,对于一棵二叉搜索树,其左右子树肯定也是二叉搜索树; 因此,递归思路:如果左右子树都是BST,并且该根结点也符合规律(小于左子树的最小结点,小于右子树的最大结点) 递归边界:如果是空节点,那么返回true; 我在实现的时候偷了一点懒; 阅读全文
posted @ 2019-10-02 19:42 B_luePhantom 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个数n,求出1~n,所有二叉树的个数; 在LeetCode 95中,要你求出所有二叉树,并返回结点,题解见:https://www.cnblogs.com/yy-1046741080/p/11594454.html。 原来我就想用直接递归,来求出结点个数的,结果发现TE; 在近期了解了D 阅读全文
posted @ 2019-09-30 19:16 B_luePhantom 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n,求出1~n所构造的BST集合。 (由于返回值是vector<TreeNode*>,我刚开始还没看懂这是什么意思.....) 解题思路: 对于一棵BST,很显然,其左右子树都是BST。 因为要构造所有BST,因此每个结点都可能是根结点。 那么建立一个函数BuildTree(int lef 阅读全文
posted @ 2019-09-26 21:01 B_luePhantom 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 下载页面:https://www.vim.org/download.php Windows选用的是MS-Windows; 下图为展示: 因为最近被墙,镜像貌似没中国内陆地区,因此,选择使用GitHub下载。 然后,根据其说明进行就可以了。 但是我在执行的过程中,缺少make这个exe文件,查了一下, 阅读全文
posted @ 2019-09-25 14:55 B_luePhantom 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 没什么好说的,就是一道中序遍历题。 当然,使用了递归,效率肯定就那样,那些效率高的,都是通过迭代写的。 熟悉一下STL的copy和back_inserter(): copy:将 [ first , last ) 的内容拷贝到result中。 back_inserter:返回一个指向x的尾部插入迭代器 阅读全文
posted @ 2019-09-25 11:43 B_luePhantom 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 地址:https://leetcode-cn.com/classic/problems/subtree-of-another-tree/description/ 题目大意是要求你判断t所代表的树是否为s所代表树的子树。 我的解题思路: 1 /** 2 * Definition for a binar 阅读全文
posted @ 2019-09-24 16:17 B_luePhantom 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题意:根据前序和中序建立树,寻找两个点的LCA。 我在之前的博客中写了关于LCA的多种求法。 https://www.cnblogs.com/yy-1046741080/p/11505547.html。 在建树的过程中,建立深度和parent,来寻找LCA。 该题目的数据有一定的欺诈性,它给你结点数 阅读全文
posted @ 2019-09-21 12:36 B_luePhantom 阅读(139) 评论(0) 推荐(0) 编辑