【LeetCode 中等題】67-二叉樹的前序遍歷
阿新 • • 發佈:2019-01-11
題目描述:給定一個二叉樹,返回它的 前序 遍歷。
示例:
輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [1,2,3]進階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?
解法1。用迴圈的方法,但和BFS似乎有些不一樣,這是一種DFS?用的是棧而非佇列,不能用佇列,有些測試用例會報錯
class Solution(object): def preorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ if not root: return [] res = [] q = [root] while q: node = q.pop() if node: res.append(node.val) q.append(node.right) q.append(node.left) return res