首页 > 其他 > 详细

【leetcode】113. 路径总和 II

时间:2020-12-17 19:58:38      阅读:27      评论:0      收藏:0      [点我收藏+]

 

void recursion(struct TreeNode* root,int sum,int* returnSize,int* returnColumnSizes,int**arr,int* temp,int cnt,int* total){
    if(!root) return;    
    *(total)+=root->val;
    temp[cnt]=root->val;
    if(!root->left && !root->right && *total == sum){
        arr[(*returnSize)]=(int*)calloc(1000,sizeof(int));
        memcpy(arr[(*returnSize)],temp,(cnt+1)*sizeof(int));
        returnColumnSizes[(*returnSize)++]=cnt+1;
    }
    recursion(root->left,sum,returnSize,returnColumnSizes,arr,temp,cnt+1,total);
    recursion(root->right,sum,returnSize,returnColumnSizes,arr,temp,cnt+1,total);
    *(total)-=root->val;
}
int** pathSum(struct TreeNode* root, int sum, int* returnSize, int** returnColumnSizes){
    int** arr=(int**)calloc(1000,sizeof(int*));
    *returnColumnSizes=(int*)calloc(1000,sizeof(int));
    *returnSize=0;
    int total=0;
    int temp[1000];
    recursion(root,sum,returnSize,*returnColumnSizes,arr,temp,0,&total);
    return arr;
}

 

【leetcode】113. 路径总和 II

原文:https://www.cnblogs.com/ganxiang/p/14151247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!