中级农民
- 积分
- 108
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-12-3
- 最后登录
- 1970-1-1
|
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
129. Sum Root to Leaf Numbers
还是每个单独的case都能通过,就是提交的时候说[0,1]结果错误,应该是1,我给的是10. 但我单独拿这个case算出来明明是1的。
c code- /**
- * Definition for a binary tree node.
- * struct TreeNode {
- * int val;
- * struct TreeNode *left;
- * struct TreeNode *right;
- * };
- */
-
- #define MAX_DEPTH 100
- int sum = 0;
- char cur_string[MAX_DEPTH];
- void treeSearch (struct TreeNode* root) {
- if(root == NULL) {
- return;
- }
-
- cur_string[strlen(cur_string)] = (char)(root->val + (int)('0')); // append the digit to current string.
-
- if(root->left == NULL && root->right == NULL) { // we have a leaf.
- sum += atoi(cur_string);
- }
- else {
- if (root->left != NULL) { // go left
- treeSearch(root->left);
- cur_string[strlen(cur_string)-1] = '\0'; // remove the last digit upon return.
- }
- if (root->right != NULL) { // go right
- treeSearch(root->right);
- cur_string[strlen(cur_string)-1] = '\0'; // remove the last digit upon return.
- }
- }
- }
- int sumNumbers(struct TreeNode* root) {
- memset(cur_string, 0, MAX_DEPTH);
- treeSearch(root);
- return sum;
- }
复制代码 谢谢啦!
|
上一篇: 问道G的面试题下一篇: 熱騰騰的groupon電面 面經 就一道題目
|