我正在努力解决检测树中节点是否存在或已被访问的逻辑。
我有一棵带节点的树(一个节点有一个左右子节点)。
我想检查一个节点上的两件事:如果没有子节点如果有子节点我想检查它们是否被访问过。
我目前有一个很大的条件,我讨厌它的样子。有没有办法可以简化它?
public boolean finished(){
return right == null && left == null || ((right != null && right.visited && (left != null && left.visited))
}
我想finished()
是真的:如果一个左右节点不存在如果一个右节点存在并且已经被访问如果一个左节点存在并且已经被访问
我想我也需要一个OR
所以如果存在一个权利,那么AND
访问的AND
左边是空的
我有点困惑:S