我正在尝试解决这个问题https://oj.leetcode.com/problems/binary-tree-preorder-traversal/,即使用递归解决方案进行前序遍历。
编辑:整个代码:
import java.util.ArrayList;
import java.util.List;
public class Solution {
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
static List<Integer> res = new ArrayList<Integer>();
public List<Integer> preorderTraversal(TreeNode root) {
if(root == null){
return new ArrayList<Integer>();
}
res.add(root.val);
if(root.left != null){
res.add(preorderTraversal(root.left));
}
if(root.right != null){
res.add(preorderTraversal(root.right));
}
return res;
}
}
由于以下原因,我有错误的答案:
Input: {1,2}
Output: [1,1,2]
Expected: [1,2]
有人可以告诉我如何解决这个问题吗?
编辑:我没有main()
方法或单元测试。如果您打开我发布的链接,您会看到这是在线评审系统。