【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; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步