144. Binary Tree Preorder Traversal

method: binary tree travesal

1 很多人不理解树的递归return的意思,其实有多种写法
2 首先不管怎么遍历,肯定要递归,因为树是有结构的,比如二叉树。
3 另外,递归时要出现无限的分支,这样形成了无限多的递归子函数,每一个函数必须有终止条件,比如Fibonacci数列的终止条件是数字,这里时return
4 这里的每一个return self.res是其中某一个的终止条件,最终结果时函数全部递归完的return self.res

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def __init__(self):
        self.res = []
    def preorderTraversal(self, root: TreeNode) -> List[int]:
        if root:
            self.res.append(root.val)
            self.preorderTraversal(root.left)
            self.preorderTraversal(root.right)
        return self.res
上一篇:python测试开发django -144.Ace Editor 在线编辑python代码


下一篇:《LeetCode之每日一题》:144.找到需要补充粉笔的学生编号