# 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 classSolution: definorderTraversal(self, root: Optional[TreeNode]) -> List[int]: ifnot root: return [] res=[] stk=[] cur=root while cur or stk: # 注意这里的边界情况是or! if cur : stk.append(cur) cur=cur.left else : cur =stk.pop() res.append(cur.val) cur=cur.right return res