小编ale*_*rth的帖子

java二进制搜索树查找父级

我正在研究一种寻找阳极母体的方法.我从根开始,然后沿着叶子向下,只要它们不是空的而不是孩子的节点.

下面是我的代码,它有点凌乱,因为我试图测试它看到什么出错.

我拥有的树是

        10
      /    \
     2     20
      \   / \
       3 18 22
            /
           21
Run Code Online (Sandbox Code Playgroud)

传入的x是20,所以10是父级,但是当我运行它时,22作为父级出现.while循环似乎不起作用,是不是我写的方式?

public Node<E> findParent(E x)
{
Node<E> node = root;

System.out.println("node is " + node.getData() + " before the search");
System.out.println("The value of x is " + x);
System.out.println("The value of node.getRight is " + node.getRight().getData());
boolean test = !node.getRight().getData().equals(x);
System.out.println("does nodes data equal x " + test);
while(((node!=null) && (node.getLeft()!=null) && (!node.getLeft().getData().equals(x))) || 
 ((node != null) && (node.getRight()!=null) && (!node.getRight().getData().equals(x))))
{ System.out.println("why didnt …
Run Code Online (Sandbox Code Playgroud)

java parent-child binary-search-tree

-1
推荐指数
1
解决办法
9073
查看次数

标签 统计

binary-search-tree ×1

java ×1

parent-child ×1