python 二叉樹的中序遍歷非遞迴方法
阿新 • • 發佈:2018-12-12
# class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution94(object): ######二叉樹中序遍歷的非遞迴方法,用棧 def inorderTraversal(self, root): #先把根節點入棧,如果左子樹一直不為空,就一直入棧,直到 ##把所有左節點入棧,然後pop棧頂元素,指標指向棧頂元素的右子樹 """ :type root: TreeNode :rtype: List[int] """ stack=[] res=[] if not root: return [] while root or stack: while root: stack.append(root) root=root.left if stack: a=stack.pop() root=a.right res.append(a.val) return res