题目:

 在二叉查找树中插入节点

给定一棵二叉查找树和一个新的树节点,将节点插入到树中。

你需要保证该树仍然是一棵二叉查找树。

 样例

给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:

 lintcode:在二叉查找树中插入节点lintcode:在二叉查找树中插入节点lintcode:在二叉查找树中插入节点

挑战

能否不使用递归?

解题:

递归的方法比较简单

Java程序:

/**
 * Definition of TreeNode:
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left, right;
 *     public TreeNode(int val) {
 *         this.val = val;
 *         this.left = this.right = null;
 *     }
 * }
 */
public class Solution {
    /**
     * @param root: The root of the binary search tree.
     * @param node: insert this node into the binary search tree
     * @return: The root of the new binary search tree.
     */
    public TreeNode insertNode(TreeNode root, TreeNode node) {
        // write your code here
        if(root==null)
            return node;
        if(root.val>=node.val)
            root.left = insertNode(root.left,node);
        if(root.val<node.val)
            root.right = insertNode(root.right,node);
        return root;
    }
}
View Code

相关文章:

  • 2022-02-03
  • 2021-07-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2022-02-16
  • 2021-11-18
猜你喜欢
  • 2021-11-27
  • 2021-05-19
  • 2021-08-19
  • 2022-02-21
  • 2022-12-23
  • 2021-11-18
  • 2021-06-02
相关资源
相似解决方案