在二叉查找树中插入节点

来源:互联网 发布:java byte 0x00 编辑:程序博客网 时间:2024/06/11 21:59

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

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

 注意事项

You can assume there is no duplicate values in this tree + node.

样例

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

  2             2 / \           / \1   4   -->   1   4   /             / \   3             3   6
代码如下:
/** * 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)        {            if(root.left==null)            {                root.left=node;                return root;            }            insertNode(root.left,node);            return root;         }        else if(root.val<node.val)        {            if(root.right==null)            {                root.right=node;                return root;            }             insertNode(root.right,node);             return root;        }        return root;    }}
原创粉丝点击