Given a binary tree, return the preorder traversal of its nodes' values.
Example:
Input: [1,null,2,3]
1
\
2
/
3
Output: [1,2,3]
Output: [1,2,3]
Follow up: Recursive solution is trivial, could you do it iteratively?
python代码
这个题是用递归求先序遍历。
里面涉及到extend的用法 而extend和append是有差别的。extend和append的差别
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
if not root:
return []
nums = []
nums.append(root.val)
nums.extend(self.preorderTraversal(root.left))
nums.extend(self.preorderTraversal(root.right))
return nums