专栏首页曌的晓痴LeetCode - 二叉搜索树中的插入操作

LeetCode - 二叉搜索树中的插入操作

LeetCode第701题,难度中等。很好奇为什么中等难度的题目这么简单...

原题地址:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/

题目描述

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

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

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

这题很简单,考的就是二叉搜索树的概念。所以完全就是根据二叉搜索树的定义,在二叉搜索树的左右子树中找到一个NULL节点,然后将该节点设置为插入的节点。

最后采用递归的方式返回父节点即可。

中文官网题解:

https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/solution/

个人题解:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
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;
    }
}

结果:

大家都很快啊,都是0ms,看来是二叉搜索树太简单了么....

本文分享自微信公众号 - 曌的晓痴(gh_543795945efe),作者:zxyAnkh

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LeetCode - 二叉树剪枝

    原题地址:https://leetcode-cn.com/problems/binary-tree-pruning/

    晓痴
  • LeetCode - 翻转二叉树

    题目描述: ...

    晓痴
  • LeetCode - 二叉搜索树中的搜索

    原题地址:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/

    晓痴
  • LeetCode 700 Search in a Binary Search Tree

    一份执着✘
  • LeetCode 235 Lowest Common Ancestor of a Binary Search Tree

    题解:递归的时候判断如果两个节点的值在父节点两边,那个这个父节点就是最近的公共父节点。否则按照二叉搜索树的规则递归下去。

    ShenduCC
  • Leetcode 653. Two Sum IV - Input is a BST

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • 算法:树和图-实战

    思路:回到二叉搜索树,当前节点大于左子树,小于右子树。假如此树是二叉搜索树,那么应该满足这种有序的状态。

    营琪
  • datax数据流转小试牛刀

    最近在做MySQL向infobright的迁移工作,用的方法是shell脚本的方法。之前听说过有datax的方法也可以做数据流转,今天下班后,就试了试dat...

    AsiaYe
  • Linux基础(day56)

    14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早...

    运维小白
  • 练习题二上

    第1章 linux启动过程 1、开机自检bios 2、mbr引导 3、GRUB 菜单:选择不同的内核 4、加载内核 5、运行init进程 6、读取/etc/in...

    惨绿少年

扫码关注云+社区

领取腾讯云代金券