美文网首页算法代码
二叉树的插入操作

二叉树的插入操作

作者: windUtterance | 来源:发表于2020-06-06 10:43 被阅读0次

    题目描述:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。

    注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。

    示例
    给定二叉搜索树:

        4
       / \
      2   7
     / \
    1   3
    

    和 插入的值: 5
    你可以返回这个二叉搜索树:

         4
       /   \
      2     7
     / \   /
    1   3 5
    

    Java代码

    /**
     * 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) {
            if(root == null) return new TreeNode(val);
    
            if(root.val > val) root.left = insertIntoBST(root.left, val);
            else root.right = insertIntoBST(root.right, val);
    
            return root;
        }
    }
    

    相关文章

      网友评论

        本文标题:二叉树的插入操作

        本文链接:https://www.haomeiwen.com/subject/gvawzhtx.html