// 0998. Maximum Binary Tree II
class Solution {
public TreeNode insertIntoMaxTree(TreeNode root, int val) {
if (val > root.val) {
return new TreeNode(val, root, null);
}
TreeNode up = root;
TreeNode down = root.right;
while (down != null && val < down.val) {
up = down;
down = down.right;
}
up.right = new TreeNode(val, down, null);
return root;
}
}
学习笔记: 这道题是Daily LeetCode – day0022 0654. Maximum Binary Tree的姊妹体。 本来把二叉树还原成数组,然后再把val添加后的数组变成二叉树。 但是最佳答案是就观察最右边的一些节点,找合适位置插入。最终0ms解决。