向二叉搜索树插入节点需要保持其本身的性质,即节点左子树的节点值皆小于其根节点的值,节点右子树的节点值皆大于其根节点的值。
这里使用递归解决
class Solution{
public TreeNode insert(TreeNode root, TreeNode node){
if(root == null){
return node;
} // 此时遍历到空引用,返回节点node引用即可
if(node.val < root.val){
root.left = insert(root.left, node); // 递归会遍历到二叉树的最左下角
}else{
root.right = insert(root.right, node);
}
return root;
}
}