前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode - 二叉搜索树中的插入操作

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

作者头像
晓痴
发布2019-08-09 18:46:05
4180
发布2019-08-09 18:46:05
举报
文章被收录于专栏:曌的晓痴曌的晓痴

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/

个人题解:

代码语言:javascript
复制
/**
 * 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,看来是二叉搜索树太简单了么....

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 曌的晓痴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档