题目描述:
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree{1,#,2,3},
1 \ 2 / 3
思路解析:
需要一个用于递归前序遍历的helper(void):
- 先存入ArrayList<Integer> re = new ArrayList<Integer>;
- 然后遍历左子树,再遍历右子树
代码:
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ import java.util.*; public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> re = new ArrayList<Integer>(); if(root ==null) return re; helper(re,root); return re; } public void helper(ArrayList<Integer> re,TreeNode root){ if(root==null) return; re.add(root.val); helper(re,root.left); helper(re,root.right); } }