题目描述

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例1:
No.144 二叉树的前序遍历 (Easy) - 图1
返回:1, 2, 3

思路

递归,前序,中序,后序的递归代码几乎一致.

代码

  1. class Solution {
  2. public List<Integer> preorderTraversal(TreeNode root) {
  3. List<Integer> result = new ArrayList<>();
  4. if (root == null) {
  5. return result;
  6. }
  7. dfs(root, result);
  8. return result;
  9. }
  10. private void dfs(TreeNode root, List<Integer> result) {
  11. if (root == null) {
  12. return;
  13. }
  14. result.add(root.val);
  15. dfs(root.left, result);
  16. dfs(root.right, result);
  17. }
  18. }