问题如下 - 我需要列出二叉搜索树的所有元素 - 我通过递归编写代码,但它不能正常工作。出于某种原因,该方法不想递归地输入自己,而只是跳过带有条目的行。可能是什么问题呢?
public IEnumerator<T> GetEnumerator()
{
if (Root == null)
yield break;
foreach (var node in HelpMethod(Root))
yield return node;
}
private IEnumerable<T> HelpMethod(Node<T> subTree)
{
if (subTree.Left != null)
HelpMethod(subTree.Left);
yield return subTree.Value;
if (subTree.Right != null)
HelpMethod(subTree.Right);
}