二叉树的中序遍历

旧巷老猫 提交于 2020-02-20 03:05:08

题目:

思路:

利用栈做迭代:

先遍历所有节点,直到找到最左节点,将这个节点的父节点抛出,加入栈,再遍历右子树.

代码:


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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!