问题来自:二叉树右侧视图:我的代码出了什么问题?
https://leetcode.com/problems/binary-tree-right-side-view/
这里是我的代码:
public class Solution {
static int maxLevel = 0;
public List<Integer> rightSideView(TreeNode root) {
List<Integer> list = new ArrayList<Integer>();
rightViewUtil(root, 1, list);
return list;
}
private void rightViewUtil(TreeNode root, int level, List list){
if (root == null) return;
if (maxLevel < level){
list.add(root.val);
maxLevel = level;
}
rightViewUtil(root.right, level + 1, list);
rightViewUtil(root.left, level + 1, list);
}
}
当我提交的代码,它显示我的代码给出了错误的答案:
输入: {1,2}输出:[2]预期:[1,2]
然而,当我运行本地代码与main
,(我在本地更改类名)
TreeNode node = new TreeNode(1);
node.right = new TreeNode(2);
// node.left = new TreeNode(2);
List<Integer> list = new BinaryTreeRightSideView().rightSideView(node);
for (Integer i : list){
System.out.println(i);
}
输出是1 2
实际。
您确定要正确解释输入吗?我不清楚'{1,2}'是如何描述一棵“树”的。 – 2015-04-03 14:02:04