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

2021-10-24 04:51:46 字數 869 閱讀 7430

給定二叉搜尋樹(bst)的根節點和要插入樹中的值,將值插入二叉搜尋樹。 返回插入後二叉搜尋樹的根節點。 保證原始二叉搜尋樹中不存在新值。

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

例如, 

給定二叉搜尋樹:

4/ \

2   7

/ \1   3

和 插入的值: 5

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

4/   \

2     7

/ \   /

1   3 5

或者這個樹也是有效的:

5/   \

2     7

/ \   

1   3\4

通過次數18,502提交次數25,535

/**

* 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) root.right = insertintobst(root.right, val);

// 比根節點小,說明在左子樹

if(root.val > val) root.left = insertintobst(root.left, val);

return root;

};

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

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

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

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

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

二叉搜尋樹本身有序,因此無需遍歷整棵樹,插入位置根據當前節點和val的大小關係可以判斷出接下來往哪走 通過遞迴函式返回值完成新加入節點的父子關係賦值操作,下一層將加入節點返回,本層用root left或者root right將其接住 treenode insertintobst treenode r...