首页 > 试题广场 >

插入二叉搜索树

[编程题]插入二叉搜索树
  • 热度指数:535 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一棵二叉搜索树的根节点和一个插入值 val。请你把这个 val 插入二叉搜索树中并保持这棵树依然是二叉搜索树。你可以返回任意一个合法结果。

例如:输入二叉树,插入一个 4 ,可能的结果有等等,返回任意一个即可。

数据范围:二叉搜索树节点数满足 ,二叉搜索树上节点值满足
示例1

输入

{2,1,3},4

输出

{2,1,3,#,#,#,4}

说明:本题目包含复杂数据结构TreeNode,点此查看相关信息
package main
//import "fmt"
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @param val int整型 
 * @return TreeNode类
*/
func insertToBST( root *TreeNode ,  val int ) *TreeNode {
    if root==nil{
        return &TreeNode{Val:val}
    }else if root.Val>val{
        root.Left=insertToBST(root.Left,val)
        return root
    }else{
        root.Right=insertToBST(root.Right,val)
        return root
    }
}

发表于 2023-03-15 17:28:55 回复(0)

问题信息

难度:
1条回答 1931浏览

热门推荐

通过挑战的用户

查看代码