随笔分类 -  二叉树

摘要:题目 树的序列化, /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef 阅读全文
posted @ 2020-05-28 11:44 Shendu.CC 阅读(90) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-04-18 10:42 Shendu.CC 阅读(72) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:在一颗普通的二叉树里找到两个节点的最近公共祖先。 题解:递归,如果当前节点等于p或者q,那返回当前节点了。 然后递归左子树,和右子树。 如果左子树和右子树返回的都不是NULL,说明当前节点是公共祖先。 否则返回两个子树有值的那一个。 阅读全文
posted @ 2020-03-04 15:39 Shendu.CC 阅读(76) 评论(0) 推荐(0) 编辑
摘要:"题目" 翻转二叉树 阅读全文
posted @ 2020-03-04 15:11 Shendu.CC 阅读(67) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:假如你在一棵二叉树的右边,往左看,能看到哪些元素。 题解:广搜,每一层的最右边元素即可。 阅读全文
posted @ 2020-02-13 09:46 Shendu.CC 阅读(78) 评论(0) 推荐(0) 编辑
摘要:"题目" 阅读全文
posted @ 2020-01-16 15:43 Shendu.CC 阅读(75) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:给你一个BST,其中任意两个元素被交换过了,让你把交换的元素复原。 题解:BST的中序遍历是个有序的数组,那么两个元素被交换了,我们可以for循环一次找出这两个数字。从小到大遍历,维护一个值max,表示当前遍历元素的最大值。由于两个元素被交换了,所以max一定有一段时间是不变的,直到 阅读全文
posted @ 2020-01-16 15:42 Shendu.CC 阅读(144) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:判断一个二叉树是否为 二叉搜索树BST 题解:所有思路都是去找二叉树中不满足BST性质的节点,找到了,就不符合,找不到就符合。那么怎么去找呢?我提供两种思想。 第一个是,BST的中序遍历是一个有序数组,所以把BST 中序遍历的结果拿出来,看看是不是有序的就可以了。很简单。那如果不让你 阅读全文
posted @ 2020-01-16 15:36 Shendu.CC 阅读(111) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示