没有二叉树反转的基本情况?

No base case for binary tree reversal?

为什么以下 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

?

基本情况是 if: root 的计算结果为 false。例如当你调用 invertTree(root.right) 时,如果 root.right 不存在,那么在 invertTree 调用中 if: root 将计算为 false,并且函数将 return 没有再次呼叫 invertTree