二元树反转没有基本情况?

时间:2015-07-27 04:05:17

标签: binary-tree

为什么以下用于反转二叉树的Python代码不需要基本案例?

def invertTree(root):
    if root:
        root.left, root.right = invertTree(root.right), invertTree(root.left)
    return root

其中节点定义为

class TreeNode:
 def __init__(self, x):
     self.val = x
     self.left = None
     self.right = None

1 个答案:

答案 0 :(得分:1)

基本情况是if: root评估为false时。例如,当您致电invertTree(root.right)时,如果root.right不存在,则invertTree调用if: root将评估为false,并且函数将返回而不调用{{1}再次。