解题思路:
递归式,先把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;
}
}

京公网安备 11010502036488号