1. public TreeNode insertIntoBST(TreeNode root, int val) {
    2. if (root == null) {
    3. root = new TreeNode(val);
    4. return root;
    5. }
    6. TreeNode curNode = root;
    7. while (curNode != null) {
    8. if (curNode.val > val) {
    9. // 这里的思路没问题:
    10. // 当确定了左右子树之后,
    11. // 我们要直接判断当前节点的左右子树是否为 null
    12. if (curNode.left == null) {
    13. curNode.left = new TreeNode(val);
    14. break;
    15. } else {
    16. curNode = curNode.left;
    17. }
    18. } else {
    19. if (curNode.right == null) {
    20. curNode.right = new TreeNode(val);
    21. break;
    22. } else {
    23. curNode = curNode.right;
    24. }
    25. }
    26. }
    27. return root;
    28. }