/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */class Solution { public TreeNode insertIntoBST(TreeNode root, int val) { //如果检索到当前是空了,说明找到需要插入的位置了,那么就返回一个新创建的treenode结点 if(root == null){ return new TreeNode(val); } //如果这个val 大于 当前结点的val,说明他该去右子树去插入 if(root.val < val){ root.right = insertIntoBST(root.right,val); }else { //否则,说明val小于当前结点,说明该去左子树插入 root.left = insertIntoBST(root.left,val); } //最后返回root结点 return root; }}