問題來自:二叉樹右側視圖:我的代碼出了什麼問題?
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