在"二叉树"中,外部节点是一个没有任何子节点的节点,无论是左还是右,如果我错了,我就纠正我,在&#中34;二进制搜索树",外部节点总是空的,因为根据我的讲义,内部节点总是有2个子节点,即使没有创建,我们假设该内部节点的子节点为空。 那么如果外部节点为空,我该如何访问?
我将此代码编写为BST Node类的一部分:
/*
* Checks if this node is an internal node.
* Returns true if it is internal node, false otherwise.
*/
protected boolean isInternal(){
// TODO Put your code here
if(this!=null)
return true;
else
return false;
}
/*
* Checks if this node is an external node.
* Returns true if it is external node, false otherwise.
*/
protected boolean isExternal(){
if(this==null && this.left==null && this.right==null)
return true;
else return false;
}
最后一个方法给我nullPointerException
答案 0 :(得分:0)
在“二叉树”中,外部节点是没有任何子节点的节点,左侧或右侧
没有。这里的“外部”用作形容词。它意味着一个节点不是树的一部分。
外部节点始终为空
呃,节点不能“空”。节点指针可以为null,但这只意味着它没有指向节点。
节点可以具有空指针而不是指向子节点的指针。当它没有子节点(两个指针都为null)时,它被称为Leaf节点。