leetcode和算法----日更

leetcode 94 二叉树中序遍历和 leetcode 14

2020-01-10  本文已影响0人  Arsenal4ever

leetcode 94

使用栈,非递归解法:

class Solution(object):
    def inorderTraversal(self, root):
        """
        :type root: TreeNode
        :rtype: List[int]
        """
        if not root:
            return []
        stack, cur = [root], root
        result = []
        while stack:
            if cur:
                stack.append(cur)
                cur = cur.left
            else:
                cur = stack.pop()
                result.append(cur.val)
                cur = cur.right
        return result[:-1]

leetcode 144

使用栈,非递归解法:

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

        return result
上一篇 下一篇

猜你喜欢

热点阅读