ツリー内のノードが存在するか、アクセスされたことを検出するロジックに苦労しています。
ノードを持つツリーがあります (ノードには左右の子ノードがあります)。
ノードで 2 つのことを確認したい: 子ノードがない場合 子ノードがある場合 それらが訪問されたかどうかを確認したい。
私は現在、見た目が嫌いな大きな状態にあります。単純化できる方法はありますか?
public boolean finished(){
return right == null && left == null || ((right != null && right.visited && (left != null && left.visited))
}
私はfinished()
真になりたい: 右と左のノードが存在しない場合 右が存在し、訪問された場合 左が存在し、訪問された場合
私も必要だと思うので、訪問OR
した右が存在する場合、左はnullですAND
AND
私は少し混乱しています:S