LeetCode 701 二叉搜尋樹中的插入操作

2021-10-09 21:56:34 字數 1200 閱讀 3012

給定二叉搜尋樹(bst)的根節點和要插入樹中的值,將值插入二叉搜尋樹。 返回插入後二叉搜尋樹的根節點。 輸入資料保證,新值和原始二叉搜尋樹中的任意節點值都不同。

注意,可能存在多種有效的插入方式,只要樹在插入後仍保持為二叉搜尋樹即可。 你可以返回任意有效的結果。

給定二叉搜尋樹:

4/ \

2 7

/ \1 3

和 插入的值: 5

你可以返回這個二叉搜尋樹:

4/ \

2 7

/ \ /

1 3 5

或者這個樹也是有效的:

5/ \

2 7

/ \

1 3

\4

使用遞迴比較val和當前節點的大小,如果大在右子樹進行遞迴比較,反之在左子樹進行遞迴比較

# definition for a binary tree node.

# class treenode:

# def __init__(self, val=0, left=none, right=none):

# self.val = val

# self.left = left

# self.right = right

class solution:

def insertintobst(self, root: treenode, val: int) -> treenode:

def dfs(node, num):

if num > node.val:

right = node.right

if not right:

node.right = treenode(num)

else:

dfs(right, num)

else:

left = node.left

if not left:

node.left = treenode(num)

else:

dfs(left, num)

if not root:

root = treenode(val)

else:

dfs(root, val)

return root

leetcode 701 二叉搜尋樹中的插入操作

描述 給定二叉搜尋樹 bst 的根節點和要插入樹中的值,將值插入二叉搜尋樹。返回插入後二叉搜尋樹的根節點。保證原始二叉搜尋樹中不存在新值。注意,可能存在多種有效的插入方式,只要樹在插入後仍保持為二叉搜尋樹即可。你可以返回任意有效的結果。例如,給定二叉搜尋樹 4 2 7 1 3和 插入的值 5 你可以...

Leetcode 701 二叉搜尋樹的插入操作

給定二叉搜尋樹 bst 的根節點和要插入樹中的值,將值插入二叉搜尋樹。返回插入後二叉搜尋樹的根節點。保證原始二叉搜尋樹中不存在新值。注意,可能存在多種有效的插入方式,只要樹在插入後仍保持為二叉搜尋樹即可。你可以返回任意有效的結果。例如,給定二叉搜尋樹 4 2 7 1 3 和 插入的值 5你可以返回這...

LeetCode 701 二叉搜尋樹中的插入操作

給定二叉搜尋樹 bst 的根節點和要插入樹中的值,將值插入二叉搜尋樹。返回插入後二叉搜尋樹的根節點。輸入資料保證,新值和原始二叉搜尋樹中的任意節點值都不同。注意,可能存在多種有效的插入方式,只要樹在插入後仍保持為二叉搜尋樹即可。你可以返回任意有效的結果。class solution def inse...