我最近开始使用Coursera专门化,其中一项任务需要实现二叉树集的并集操作。我原来把它编码为:
def union(that: TweetSet): TweetSet = ((left union right) union that) incl elem
但是在我的测试中,它导致了无限循环。然后,我试过了:
def union(that: TweetSet): TweetSet = (left union (right union that)) incl elem
它按预期工作!现在,我很高兴它有效,但我无法弄清楚是什么导致了两个实现之间的差异。你能帮我找到吗?