解题思路:
递归式,先把root加入到结果中,再递归处理左子树,再递归处理右子树。
代码:
import java.util.*; public class Solution { List<Integer> list = new ArrayList<>(); public int[] preorderTraversal (TreeNode root) { List<Integer> list = preOrder(root); int[] res = new int[list.size()]; for (int i = 0;i< list.size();i++) { res[i] = list.get(i); } return res; } List<Integer> preOrder(TreeNode node) { if (node == null) { return list; } list.add(node.val); preOrder(node.left); preOrder(node.right); return list; } }