import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     *
     * @param root TreeNode类
     * @return int整型ArrayList
     */
    public ArrayList<Integer> preorderTraversal(TreeNode root) {


        ArrayList<Integer> objects = new ArrayList<>();
        if (null == root) {
            return objects;
        }
        setValue(root, objects);
     
        return objects;
    }

    public void setValue(TreeNode root, ArrayList<Integer> objects) {

            objects.add( root.val);

        if (root.left != null) {
        
            setValue(root.left, objects);
        }

         if (root.right != null) {
    
            setValue(root.right, objects);
        }
    }
    }

  

思路:递归判断,当前节点的 左右节点 即可