我正在练习删除二叉搜索树上的节点,并使用空模式为空链接(NullNode)创建了一个特殊类型,因此我可以为“空”类型添加一些理想的行为。Node类型和Nullnode类型共享相同的INode接口,其中包括递归方法。
INode接口包括用于PreOrder 、InOrder 和 PostOrder 遍历的IEnumerable递归方法,但我不希望 NullNode 返回任何元素(通过 yield return 语句)。
我能做些什么?
我知道我可以使用一个不可能的 if 条件,然后在方法中放置一个 yield return 语句,但我不认为这个解决方案是好的。应该有更好的方法。