草庐IT

modified-preorder-tree-t

全部标签

leetcode 889. Construct Binary Tree from Preorder and Postorder Traversal 根据前序和后

一、题目大意给定两个整数数组,preorder和postorder,其中preorder是一个具有无重复值的二叉树的前序遍历,postorder是同一棵树的后序遍历,重构并返回二叉树。如果存在多个答案,您可以返回其中任何一个。示例1:输入:preorder=[1,2,4,5,3,6,7],postorder=[4,5,2,6,7,3,1]输出:[1,2,3,4,5,6,7]示例2:输入:preorder=[1],postorder=[1]输出:[1]提示:11preorder中所有值都不同postorder.length==preorder.length1postorder中所有值都不同保证p

leetcode 889. Construct Binary Tree from Preorder and Postorder Traversal 根据前序和后

一、题目大意给定两个整数数组,preorder和postorder,其中preorder是一个具有无重复值的二叉树的前序遍历,postorder是同一棵树的后序遍历,重构并返回二叉树。如果存在多个答案,您可以返回其中任何一个。示例1:输入:preorder=[1,2,4,5,3,6,7],postorder=[4,5,2,6,7,3,1]输出:[1,2,3,4,5,6,7]示例2:输入:preorder=[1],postorder=[1]输出:[1]提示:11preorder中所有值都不同postorder.length==preorder.length1postorder中所有值都不同保证p

leetcode 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树(简单)

一、题目大意给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。注意:本题和1038相同示例1:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]示例2:输入:roo

leetcode 110. Balanced Binary Tree 平衡二叉树(简单)

一、题目大意给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范围[0,5000]内-104来源:力扣(LeetCode)链接:https://leetcode.cn/problems/balanced-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商

leetcode 101. Symmetric Tree 对称二叉树(简单)

一、题目大意给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100进阶:你可以运用递归和迭代两种方法解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/symmetric-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路判断一个树是否对称等价于判断左右子树是否对称。分四步:(1)如果两个子树都为空指针,则

leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单)

一、题目大意给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例2:输入:root=[]输出:[]示例3:输入:root=[0]输出:[0]提示:树中结点数在范围[0,2000]内-100进阶:你可以使用原地算法(O(1)额外空间)展开这棵树吗?来源:力扣(LeetCode)链接:https:/

leetcode 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树(简单)

一、题目大意给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。注意:本题和1038相同示例1:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]示例2:输入:roo

leetcode 110. Balanced Binary Tree 平衡二叉树(简单)

一、题目大意给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:true提示:树中的节点数在范围[0,5000]内-104来源:力扣(LeetCode)链接:https://leetcode.cn/problems/balanced-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商

leetcode 101. Symmetric Tree 对称二叉树(简单)

一、题目大意给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围[1,1000]内-100进阶:你可以运用递归和迭代两种方法解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/symmetric-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路判断一个树是否对称等价于判断左右子树是否对称。分四步:(1)如果两个子树都为空指针,则

leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单)

一、题目大意给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例2:输入:root=[]输出:[]示例3:输入:root=[0]输出:[0]提示:树中结点数在范围[0,2000]内-100进阶:你可以使用原地算法(O(1)额外空间)展开这棵树吗?来源:力扣(LeetCode)链接:https:/