Java 比较Integer类型的BinarySearchTree节点
如何比较数据结构中Integer类型的两个树节点?如果我使用==它将为大于128的值提供NullPointerException错误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
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?好的,我解决了这个谜,是用另一种方法计算给定节点的高度。谢谢你的帮助回答:)