码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode-94-二叉树的中序遍历

时间:2019-07-13 20:09:36      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:val   img   tco   roo   ack   treenode   alt   迭代   inf   

 题目描述:

技术图片

方法一:迭代

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        res,stack = [],[]
        while True:
            while root:
                stack.append(root)
                root = root.left
            if not stack:
                return res
            node = stack.pop()
            res.append(node.val)
            root = node.right
        return res

方法二:递归

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        res = []
        def helper(root):
            if not root:
                return
            helper(root.left)
            res.append(root.val)
            helper(root.right)
        helper(root)
        return res

另;

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        f = self.inorderTraversal 
        return f(root.left) + [root.val] + f(root.right) if root else []

 

leetcode-94-二叉树的中序遍历

标签:val   img   tco   roo   ack   treenode   alt   迭代   inf   

原文地址:https://www.cnblogs.com/oldby/p/11181674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!