Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较Integer类型的BinarySearchTree节点_Java_Data Structures_Tree_Binary Tree_Binary Search Tree - Fatal编程技术网

Java 比较Integer类型的BinarySearchTree节点

Java 比较Integer类型的BinarySearchTree节点,java,data-structures,tree,binary-tree,binary-search-tree,Java,Data Structures,Tree,Binary Tree,Binary Search Tree,如何比较数据结构中Integer类型的两个树节点?如果我使用==它将为大于128的值提供NullPointerException错误 public int brElNaPutanji(BNode<Integer> tekuci, BNode<Integer> kraj){ if (tekuci == kraj) return 0; int trt = kraj.info; int prt = tekuci.info; if

如何比较数据结构中Integer类型的两个树节点?如果我使用==它将为大于128的值提供NullPointerException错误

public int brElNaPutanji(BNode<Integer> tekuci, BNode<Integer> kraj){
    if (tekuci == kraj) 
        return 0;
    int trt = kraj.info;
    int prt = tekuci.info;
    if (trt < prt)
        return 1 + brElNaPutanji(tekuci.left, kraj);
    else
        return 1 + brElNaPutanji(tekuci.right, kraj);
}
Brelnaputaji公共国际酒店(BNode tekuci,BNode kraj){
如果(tekuci==kraj)
返回0;
int trt=kraj.info;
int prt=tekuci.info;
如果(trt
这是BNode类

class BNode<E extends Comparable<E>> {

public E info;
public BNode<E> left;
public BNode<E> right;

public BNode(E info) {
    this.info = info;
    left = null;
    right = null;
}

public BNode(E info, BNode<E> left, BNode<E> right) {
    this.info = info;
    this.left = left;
    this.right = right;
}

}
类BNode{
公共电子信息;
公共b节点左;
公共节点权;
公共BNode(电子信息){
this.info=info;
左=空;
右=空;
}
公共B节点(E信息,B节点左侧,B节点右侧){
this.info=info;
this.left=左;
这个。右=右;
}
}

使用
number1.equals(number2)
而不是
=
,因为
=
仅检查它们是否在同一内存区域,可能并不总是正确的。

返回1+Brelnaputaji(tekuci.left,kraj)
如果
left
为空会发生什么?它永远不可能为空。实际上,这个方法从根开始计算节点的数量,直到我们想要的节点。这个方法如何解决NullPointerException?好的,我解决了这个谜,是用另一种方法计算给定节点的高度。谢谢你的帮助回答:)