二叉树的前序遍历
(牛客网—牛客题霸算法篇—NC193)
题目描述
给定一个二叉树的根节点 root ,返回它节点值的前序遍历。
代码实现
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 {
public int[] preorderTraversal (TreeNode root) {
// write code here
List list=new ArrayList<>();
dfs(list,root);
int[] res=new int[list.size()];
for (int i = 0; i < list.size(); i++) {
res[i]=(int)list.get(i);
}
return res;
}
public void dfs(List list,TreeNode root){
if(root!=null){
list.add(root.val);
dfs(list,root.left);
dfs(list,root.right);
}
}
}