为什么以下用于反转二叉树的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
答案 0 :(得分:1)
基本情况是if: root
评估为false时。例如,当您致电invertTree(root.right)
时,如果root.right
不存在,则invertTree
调用if: root
将评估为false,并且函数将返回而不调用{{1}再次。