94. 二叉树的中序遍历

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

树的遍历在leetcode里都是返回一个res数组,牛客里是print每个元素,所以遍历到的体现可以是 res.append(node.val) 或者 print(node.val)

中序深度遍历,递归方法: 

  while node or stack:

  1. 对于所有节点,都要先入栈,直到左子节点没有,才能出栈,遍历

    if node:

      stack.append(node)

      node = node.left

  2. 对于左边为NULL,才出栈,遍历val,node = node.right

    else:

      node = stack.pop()

      res.append(node.val)

      node = node.right

  3. 对于node.right,也要先入栈,判断左边有没有,没有才能出栈

原文地址:https://www.cnblogs.com/ChevisZhang/p/13358520.html