【发布时间】:2016-01-23 09:31:03
【问题描述】:
我正在创建一种方法来查找特定节点与其所在树的根之间的距离,我想验证这是否是最简单的方法。我有点担心持有人会成为原始节点,因此当我向上移动树时,我正在将所述节点拉上来。
public int distanceToRoot(Node node)
{
Node holder= node;
int distance=0;
if (node.getParent()==null)
{
distance=0;
}
else
{
while (holder.getParent() !=null)
{
holder=holder.getParent();
distance++;
}
}
return distance;
}
【问题讨论】:
-
整个
if-then-else结构是不必要的。只需循环,您将获得相同的结果。 -
甜,我只是担心让节点等价会链接内存地址,就像你用数组做的那样,然后运行循环会毁掉树