随笔分类 - 力扣(LeetCode)
摘要:1. 题目 给定一个二叉树,统计该二叉树数值相同的子树个数 同值子树是指该子树的所有节点都拥有相同的数值 2. 解题 后序遍历,叶子节点肯定是一个同值子树 判断根节点和左右子树是否同值 3. 代码 bool dfs(TreeNode* root) { if(!root) return true; b
阅读全文
摘要:1. 题目 依次从左到右,每次收集并删除所有的叶子节点 2. 解题 1、先后序遍历把树倒过来,再遍历一次从最外层 2、后序遍历找到每一个节点所在的层级 3. 代码 int dfs(TreeNode* root) { if(!root) return -1; int hl = dfs(root->le
阅读全文
摘要:1. 题目 给定一个二叉树,其中所有的右节点要么是具有兄弟节点(拥有相同父节点的左节点)的叶节点,要么为空将此二叉树上下翻转并将它变成一棵树, 原来的右节点将转换成左叶节点。返回新的根。 2. 解题 前序遍历或者后序遍历 3. 代码 TreeNode* upsideDown(TreeNode* ro
阅读全文
摘要:1. 题目 给定一个整数数组,你需要验证它是否是一个二叉搜索树正确的先序遍历序列。 2. 解题 1、要满足搜索树并且又是先序遍历 2、进来一个元素用stack记录,进栈 3、每次元素进栈前,先和栈顶比较,if大于栈顶,则是要安插在右子树 临时变量记录当前栈顶然后出栈,再和新栈顶比较,直到栈顶为空或者
阅读全文

浙公网安备 33010602011771号