做了那么多不太好解决的题,总该来点简单的给自己点信心对吧~
???? 思路提示:
很简单很简单啦~题目要求的是让我们通过前序遍历的顺序将二叉树的结点val都存入一个List<Integer>中,然后返回这个List~
那么我们只需要创建一个List<Integer>,用ArrayList去实现它。
然后再创建一个方法,采取(先赋值,再走left,再走right)的步骤(前序遍历),通过不断递归调用该方法,并且将遍历到的非null的值添加给List,最后List中的值的顺序就是我们的前序遍历了
???? 代码示例:
class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> cur = new ArrayList<>();
preOrder(root,cur);
return cur;
}
public void preOrder(TreeNode root,List<Integer> res) {
if (root == null) {
return;
}
res.add(root.val);
preOrder(root.left,res);
preOrder(root.right,res);
}
}