0
検索対象の値がツリー内に存在するかどうかを示すブール値を返すBST検索メソッドについては、このコードでは何が間違っていますか?しかし、trueに戻った後、制御は再び:else if block.Can誰かが私が間違っていることを教えてもらえますか?BST検索メソッドが期待した結果を返さない
ヘルプは高く評価されます。事前に感謝します!
public class Node
{
public int Value { get; set; }
public Node Left { get; set; }
public Node Right { get; set; }
public Node(int value, Node left, Node right)
{
Value = value;
Left = left;
Right = right;
}
}
public class BinarySearchTree
{
public static bool Search(Node root, int value)
{
if (root!=null)
{
if (root.Value == value)
{
return true;
}
else if (root.Value < value)
{
Search(root.Right, value);
}
else
{
Search(root.Left, value);
}
}
return false;
}
public static void Main(string[] args)
{
Node n1 = new Node(1, null, null);
Node n3 = new Node(4, null, null);
Node n2 = new Node(2, n1, n3);
bool flag = Search(n2, 4);
//flag should be true
Console.WriteLine("************* " + flag);
Console.ReadKey();
}
}
どのような間違い!!!どうもありがとう !! – Dev