二叉树的中序遍历

3 阅读1分钟
package org.example.leetcodeBook.deepSearch;  
  
import java.util.ArrayList;  
import java.util.List;  
  
//二叉树的中序遍历  
//给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。  
// 示例 1:  
// 输入:root = [1,null,2,3]  
// 输出:[1,3,2]  
  
public class InorderTraversalSolution {  
    class TreeNode {  
        TreeNode left,right;  
        int val;  
        TreeNode(int val){  
            this.val=val;  
        }  
    }  
    public List<Integer> inorderTraversal(TreeNode root){  
        ArrayList<Integer> res = new ArrayList<>();  
        inorder(root,res);  
        return res;  
    }  

    private void inorder(TreeNode root, ArrayList<Integer> res) {  
        if(root==null)return;  
        inorder(root.left,res);  
        res.add(root.val);  
        inorder(root.right,res);  
    }  
}