题解 | #二叉树的中序遍历# #DFS会超时
二叉树的中序遍历
https://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d
#coding:utf-8 # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return int整型一维数组 # class Solution: def __init__(self): self.path = [] self.stack = [] def inorderTraversal(self , root ): # write code here #self.dfs(root) self.tra_stack(root) print ("Path: ", self.path) return self.path def tra_stack(self, node): if node == None: return while node != None or len(self.stack) > 0: if node != None: self.stack.append(node) node = node.left else: node = self.stack.pop() self.path.append(node.val) node = node.right return def dfs(self, node): if node == None: return self.dfs(node.left) self.path.append(node.val) self.dfs(node.right) return