美文网首页Leetcode
144. Binary Tree Preorder Traver

144. Binary Tree Preorder Traver

作者: oo上海 | 来源:发表于2016-08-06 22:39 被阅读10次

144. Binary Tree Preorder Traversal

题目:

https://leetcode.com/problems/binary-tree-preorder-traversal/

难度:

Medium

Recursive

class Solution(object):
    def preorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        if root == None:
            return []
        res = []
        self.preorder(root,res)
        return res
        
        
    def preorder(self,root,res):
        if root == None:
            return
        res.append(root.val)
        self.preorder(root.left,res)
        self.preorder(root.right,res)

Iterative

class Solution(object):
    def preorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        if root == None:
            return []
        res = []
        
        stack = []
        stack.append(root)
        while stack:
            node = stack.pop()
            res.append(node.val)
            if node.right:
                stack.append(node.right)
            if node.left:
                stack.append(node.left)
        return res

相关文章

网友评论

    本文标题:144. Binary Tree Preorder Traver

    本文链接:https://www.haomeiwen.com/subject/qjtlsttx.html