-
题目链接 https://leetcode-cn.com/problems/maximum-binary-tree-ii/
-
题目描述
- 讲真,感觉原题的描述感觉都是废话。这道题让你干的是插入节点,并且保持最大二叉树
-
示例 1:
输入:root = [4,1,3,null,null,2], val = 5 输出:[5,4,null,1,3,null,null,2] 解释:A = [1,4,2,3], B = [1,4,2,3,5]
示例 2:
输入:root = [5,2,4,null,1], val = 3 输出:[5,2,4,null,1,null,3] 解释:A = [2,1,5,4], B = [2,1,5,4,3]
示例 3:
输入:root = [5,2,3,null,1], val = 4 输出:[5,2,4,null,1,3] 解释:A = [2,1,5,3], B = [2,1,5,3,4
-
解题思路
- 题干好像没给出实例。通过观察实例,找到了插入的规律。当val > root.val 时 新建一个节点,值为val,右子树为root,当val < root.val时,root的右子树为将val插入到右子树后的结果。当root为空时,新建一个节点
-
代码
- python
class Solution: def insertIntoMaxTree(self, root: TreeNode, val: int) -> TreeNode: if not root: return TreeNode(val) if root.val < val: newTree = TreeNode(val) newTree.left = root return newTree else: root.right = self. insertIntoMaxTree(root.right, val) return root
- python
leetcode 998. 最大二叉树 II
最新推荐文章于 2024-07-21 16:26:31 发布