1 题目

二叉树的中序遍历

2 解

2.1 我的解

  • 时间复杂度 O(n) // 每个节点遍历一次所以是 O(n)
  • 空间复杂度 O(n)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    /**
    * Definition for a binary tree node.
    * public class TreeNode {
    *     int val;
    *     TreeNode left;
    *     TreeNode right;
    *     TreeNode(int x) { val = x; }
    * }
    */
    class Solution {
    public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> result = new ArrayList<>();
        recursive(root, result);
        return result;
    }
        
    private void recursive(TreeNode root, List<Integer> result) {
        if (root == null) return;
        recursive(root.left, result);
        result.add(root.val);
        recursive(root.right, result);
    }
    }