题目概述(简单难度)
给你二叉树的根节点 root ,返回它节点值的 前序
遍历。
示例 1:
输入:root = [1,null,2,3] 输出:[1,2,3]
示例 2:
输入:root = [] 输出:[]
示例 3:
输入:root = [1] 输出:[1]
示例 4:
输入:root = [1,2] 输出:[1,2]
示例 5:
输入:root = [1,null,2] 输出:[1,2]
题目链接:
思路与代码
思路展现
思路1(外部函数)
代码1
class Solution { List<Integer> list = new ArrayList<>(); public void pre(TreeNode Node) { if(Node == null) { return; } list.add(Node.val); preorderTraversal(Node.left); preorderTraversal(Node.right); } public List<Integer> preorderTraversal(TreeNode root) { pre(root); return list; } }
思路2(不定义外部函数)
代码2
class Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<>(); if(root != null) { list.add(root.val); List<Integer> leftlist = preorderTraversal(root.left); list.addAll(leftlist); List<Integer> rightlist = preorderTraversal(root.right); list.addAll(rightlist); } return list; } }
总结
考察对于二叉树前序遍历的理解.注意使用思想2更好一些.