二叉树的遍历

2 概念

2.1 先序、中序、后续遍历

二叉树的先序、中序、后续遍历遍历中的x序是指根节点被访问的顺序,即:

  • 先序遍历访问顺序:根节点->左子树->右子树(通常为先左后右,下同)
  • 中序遍历访问顺序:左子树->根节点->右子树
  • 后序遍历访问顺序:左子树->右子树->根节点

3 代码

3.1 Java

3.1.1 中序遍历

class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        // 1. 先判定结束条件
        if(root == null) {
            return new ArrayList<>();
        }

        // 2. 依次遍历左、根、右
        List<Integer> list = this.inorderTraversal(root.left);
        list.add(root.val);
        list.addAll(this.inorderTraversal(root.right));
        return list;
    }
}