zoukankan      html  css  js  c++  java
  • 【leetcode】113. 路径总和 II

    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;
    }
  • 相关阅读:
    JavaScript中对事件简单的理解
    正则表达式 RE模块
    模块
    面向对象进阶
    元类详细解释
    四.面向对象和函数补充
    四.函数
    Python的基础知识:
    五层协议及tcp三次握手四次挥手
    nginx常见错误
  • 原文地址:https://www.cnblogs.com/ganxiang/p/14151247.html
Copyright © 2011-2022 走看看