由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode 运行结果和eclipse不一样???
相关主题
java初学者问到leetcode sum root to leaf题GOOG ONSITE 面试
渣渣cs本科半应届如何找工作问一个题目
help: leetcode "Recover Binary Search Tree" -- 附代码Time complexity
leetcode的OJ也会有错吗??请教一道Leetcode 题,多谢
这个inorder traversal 有错嘛,为什么leetcode 总报memory limit exceed?请教这么一个题:BST maximum sum path
leetcode交了钱的能share一下题么?为啥有两个case不对??Binary Tree Maximum Path Sum
求教Leetcode题目:Lowest Common AncestorUni_value subtree problem
Interview question::贴个自己的答案:Binary Tree Max Path Sum
相关话题的讨论汇总
话题: getsum话题: null话题: root话题: treenode话题: cursum
进入JobHunting版参与讨论
1 (共1页)
d*****1
发帖数: 263
1
问题虽然解决了。但是,还是没有彻底明白。
问题是:Sum Root to Leaf Numbers (见链接)
http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/
下面的3个方案,都是用了递归.
方案1: 利用了一个static 变量存储结果。
public class Solution{
public static int totalSum = 0;
public int sumNumbers(TreeNode root) {
if (root != null) {
getSum(root, 0);
}
return totalSum;
}
private void getSum(TreeNode node, int upperSum) {
if (node.left == null && node.right == null) {// find leaf
totalSum += (node.val + upperSum * 10);
return;
}
if (node.left != null) { // go further left
getSum(node.left, upperSum * 10 + node.val);
}
if (node.right != null) {
getSum(node.right, upperSum * 10 + node.val);
}
}
}
但下边的case 结果不对,leetcode给出的结果是10.
0
/
1
----------------搜了一下,说是“谨慎估计你添加新的类变量了”
“the result are accumulated...”
下面是方法2. 没有用 类变量。
public class Solution {
public int sumNumbers(TreeNode root) {
if (root == null) {
return 0;
}
return getSum(root, 0);
}
private int getSum(TreeNode node, int curSum) {
// return the new sum of the of the current
if (node.left == null && node.right == null) {// find leaf
return (node.val + curSum * 10);
}
int sumLeft =0, sumRight =0;
if (node.left != null) { // go further left
sumLeft = getSum(node.left, curSum * 10 + node.val);
}
if (node.right != null) {// go further left
sumRight = getSum(node.right, curSum * 10 + node.val);
}
return sumLeft + sumRight;
}
}
请问为什么?????????
FYI: 这个问题,以前遇到过,本以为是leetcode暂时的问题。就给1873发了邮件。大
神回信指点说,变量没有initialize.
i**********e
发帖数: 1145
2
http://oj.leetcode.com/discuss/553/why-the-result-from-qj-is-di

【在 d*****1 的大作中提到】
: 问题虽然解决了。但是,还是没有彻底明白。
: 问题是:Sum Root to Leaf Numbers (见链接)
: http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/
: 下面的3个方案,都是用了递归.
: 方案1: 利用了一个static 变量存储结果。
: public class Solution{
: public static int totalSum = 0;
: public int sumNumbers(TreeNode root) {
: if (root != null) {
: getSum(root, 0);

d*****1
发帖数: 263
3
顶楼上。
谢大神
1 (共1页)
进入JobHunting版参与讨论
相关主题
贴个自己的答案:Binary Tree Max Path Sum这个inorder traversal 有错嘛,为什么leetcode 总报memory limit exceed?
Leetcode bst max path-----is this solution correct?leetcode交了钱的能share一下题么?
这最小公共父母节点有bug吗?求教Leetcode题目:Lowest Common Ancestor
关于leetcode上的一道题Interview question::
java初学者问到leetcode sum root to leaf题GOOG ONSITE 面试
渣渣cs本科半应届如何找工作问一个题目
help: leetcode "Recover Binary Search Tree" -- 附代码Time complexity
leetcode的OJ也会有错吗??请教一道Leetcode 题,多谢
相关话题的讨论汇总
话题: getsum话题: null话题: root话题: treenode话题: cursum