1.簡述:
描述
給你二叉樹的根節點 root ,傳回它節點值的 前序 周遊。
資料範圍:二叉樹的節點數量滿足 ,二叉樹節點的值滿足 ,樹的各節點的值各不相同
示例 1:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAnYldHL0FWby9mZvwFN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM2YDOxQzMxYGOkJWN0ImZyYzX3MjMyUTM2EzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
示例1
輸入:
{1,#,2,3}
[1,2,3]
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代碼中的類名、方法名、參數名已經指定,請勿修改,直接傳回方法規定的值即可
*
*
* @param root TreeNode類
* @return int整型一維數組
*/
public int[] preorderTraversal (TreeNode root) {
// write code here
List<Integer> list = new ArrayList<>();
handTree(root, list);
int[] arr = new int[list.size()];
int i = 0;
for(int v : list){
arr[i++] = v;
}
return arr;
}
private void handTree(TreeNode root, List<Integer> list){
if(root != null){
list.add(root.val);
handTree(root.left, list);
handTree(root.right, list);
}
}
}