1. public List<Integer> inorderTraversal(TreeNode root) {
    2. List<Integer> res = new ArrayList<>();
    3. inorder(root, res);
    4. return res;
    5. }
    6. private void inorder(TreeNode root,List<Integer> res){
    7. // terminator
    8. if (root == null) {
    9. return;
    10. }
    11. // recursion
    12. inorder(root.left,res);
    13. res.add(root.val);
    14. inorder(root.right,res);
    15. }