题目
解题
递归写吧
# Definition for a binary tree node.
from typing import *
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def solution(root: Optional[TreeNode]) -> List[int]:
rst=[]
if root is None:
return rst
def traver(root:Optional[TreeNode]):
if root:
traver(root.left)
rst.append(root.val)
traver(root.right)
traver(root)
return rst
也可以用栈道实现
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def inorderTraversal(root):
result = []
stack = []
curr = root
while curr or stack:
while curr:
stack.append(curr)
curr = curr.left
curr = stack.pop()
result.append(curr.val)
curr = curr.right
return result