第31733题 单选题
以下Python代码中,能正确递归实现二叉树前序遍历的是?

已知二叉树节点定义如下:

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

前序遍历规则为「访问根节点 → 递归遍历左子树 → 递归遍历右子树」,空树返回空列表。

A
def preorder(root):
    if not root:
        return []
    return [root.val] + preorder(root.left) + preorder(root.right)
B
def preorder(root):
    if not root:
        return []
    return [root.val] + preorder(root.right) + preorder(root.left)
C
def preorder(root):
    if root:
        return []
    return [root.val] + preorder(root.left) + preorder(root.right)
D
def preorder(root):
    if not root:
        return []
    return preorder(root.left) + [root.val] + preorder(root.right)
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析