二叉树遍历很基础,递归的遍历更是简单,这里的题目要求不能用递归,那么就使用一个栈来模拟递归的函数栈,就可以了
python代码如下:
class Solution:
def preorderTraversal(self,root):
ret = []
stack = []
if root == None:
return ret
stack.append(root)
while stack:
node = stack.pop()
ret.append(node.val)
if node.right != None:
stack.append(node.right)
if node.left != None:
stack.append(node.left)
return ret