二叉搜尋樹中的插入操作 面試常見題

2021-10-21 14:57:50 字數 1240 閱讀 9146

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

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

示例1

輸入:root = [4,2,7,1,3], val = 5

輸出:[4,2,7,1,3,5]

解釋:另乙個滿足題目要求可以通過的樹是:

示例2:

輸入:root = [40,20,60,10,30,50,70], val = 25

輸出:[40,20,60,10,30,50,70,null,null,25]

示例3:

輸入:root = [4,2,7,1,3,null,null,null,null,null,null], val = 5

輸出:[4,2,7,1,3,5]

二叉搜尋樹的資料域是有序的:

二叉搜尋樹的查詢路線是乙個非常明確的路徑:

我們會根據當前結點值的大小,決定路線應該是向左走還是向右走。

val《當前節點值:往左走;val>當前節點值:往右走

如果最後走到了乙個空結點處,那就意味著這是我們需要插入節點的位置

如例1中的插入5:

/**

* definition for a binary tree node.

* function treenode(val, left, right)

*//**

* @param root

* @param val

* @return

*/var insertintobst = function(root, val)

if(root.val > val) else

// 返回插入後二叉搜尋樹的根結點

return root

};

二叉搜尋樹中的插入操作 python

題目描述 給定二叉搜尋樹 bst 的根節點和要插入樹中的值,將值插入二叉搜尋樹。返回插入後二叉搜尋樹的根節點。保證原始二叉搜尋樹中不存在新值。注意,可能存在多種有效的插入方式,只要樹在插入後仍保持為二叉搜尋樹即可。你可以返回任意有效的結果。例如,你可以返回這個二叉搜尋樹 或者這個樹也是有效的 思路 ...

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

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

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

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