gpt4 book ai didi

java - 二叉搜索树 - 插入

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:42:11 25 4
gpt4 key购买 nike

You are given a pointer to the root of a binary search tree and a value to be inserted into the tree. Insert this value into its appropriate position in the binary search tree and return the root of the updated binary tree. You just have to complete the function.

我已经提供了我的代码,但有一个测试用例无法正常工作。这是我的代码:

static Node Insert(Node root,int value){
Node d =root;
Node q = new Node();
q.left = null;
q.right=null;
q.data = value;
while(true){
if(value<d.data){
if(d.left==null){d.left = q;
return root; }
else{
d= d.left ;
}
}
else{
if(value>d.data){
if(d.right==null){d.right=q;
return root;}
else d = d.right;
}
}
}
}

最佳答案

您遗漏了两种情况:value == d.data 和空树。

value == d.data:在那种情况下,树不会以任何方式改变,但您的代码不会中断并以无限循环结束。

最简单的解决方案是将这些行插入到 while 循环中:

if(value == d.data)
return root;

树为空的情况是特定于实现的,因此很难针对这种情况提出任何解决方案。

关于java - 二叉搜索树 - 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32806956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com