题解 | #二叉树的前序遍历#
二叉树的前序遍历
https://www.nowcoder.com/practice/5e2135f4d2b14eb8a5b06fab4c938635
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root TreeNode类
# @return int整型一维数组
#
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
# res records the values
# tmp records the current branch(path)
# cur search through this tree
res, tmp, cur = [], [], root
# when searcher or tmp is not None
while cur or tmp:
# record the cur path to tmp
# add current val
# move the the left child
while cur:
tmp += [cur]
res += [cur.val]
cur = cur.left
# back to the parent branch
# search right side
cur = tmp.pop()
cur = cur.right
return res