二叉树的中序遍历
这里先写一个大家都比较熟悉的递归算法
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
res = []
def helper(root):
if not root:
return
helper(root.left)
res.append(root.val)
helper(root.right)
helper(root)
return res
。
后来看题解的时候还了解到一个莫里斯算法,就是找到一个树最左边的节点,想象有一个手拎着它把它提溜起来,若是没有左子树则往右子树爬。