给你二叉树的根节点
root
,返回它节点值的 前序 遍历。示例 1:
输入:root = [1,null,2,3]
输出:[1,2,3]
示例 2:
输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]
输出:[1,2,4,5,6,7,3,8,9]
示例 3:
输入:root = []
输出:[]
示例 4:
输入:root = [1]
输出:[1]
提示:
- 树中节点数目在范围
[0, 100]
内-100 <= Node.val <= 100
递归法
15min
递归方法:
1.确认递归参数和返回值
2.确认终止条件
3.确认递归每一层次之间的逻辑
public List<Integer> preorderTraversal(TreeNode root) {
//1.确认递归函数的参数和返回值
List result = new ArrayList<>();
//这个执行完毕后则证明已经把结果集装进了result里面
process(root,result);
return result;
}
public void process(TreeNode root,List result){
//2.定义终止条件
if(root == null) return;
//前序遍历 中 左 右 中在那那就装填元素
result.add(root.val);
process(root.left,result);
process(root.right,result);
}