思路:
先定义空数组方便后续使用,将一个空数组存储对应的根,随后对根进行遍历,将根溢出的元素存储到另一个数组中去, 再将根传给他的左节点,若不是r的话,则设置新变量赋值给存入根的数组的溢出元素,然后转入右节点
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def inorderTraversal(self, root:TreeNode) -> int:
'''先定义空数组方便后续使用,将一个空数组存储对应的根,随后对根进行遍历,将根溢出的元素存储到另一个数组中去,
再将根传给他的左节点,若不是r的话,则设置新变量赋值给存入根的数组的溢出元素,然后转入右节点'''
current1=[]
current2=[]
r=root
while current1 or r:
if r:
current1.append(r)
r=r.left
else:
node=current1.pop()
current2.append(node.val)
r=node.right
return current2