Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[pull] master from youngyangyang04:master #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 26 commits into AlgorithmAndLeetCode:master from youngyangyang04:master
May 27, 2022
Merged
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
21475ad
修正了其中一个错别字
languagege May 9, 2022
7519826
Update 0019.删除链表的倒数第N个节点.md
qingfengpiaoa May 10, 2022
c62d518
fix bug
FizzerYu May 10, 2022
d92aa2c
Add 0112.路径总和.md C语言解法
KingArthur0205 May 10, 2022
cc2c2ad
添加 0977.有序数组的平方.md Scala版本
wzqwtt May 11, 2022
842c042
添加(背包问题理论基础多重背包.md):增加typescript版本
xiaofei-2020 May 11, 2022
871d96a
添加 0209.长度最小的子数组.md Scala版本
wzqwtt May 11, 2022
cb2fea6
添加 0113.路径总和II C语言解法
KingArthur0205 May 11, 2022
c363e9d
添加(0198.打家劫舍.md):增加typescript版本
xiaofei-2020 May 11, 2022
2964855
添加(0213.打家劫舍II.md):增加typescript版本
xiaofei-2020 May 11, 2022
1e9bb56
Merge branch 'youngyangyang04:master' into master
KingArthur0205 May 14, 2022
5da6c06
添加 背包理论肌醇01背包 C语言版本
KingArthur0205 May 14, 2022
4defb3d
Merge branch 'master' of https://github.com/KingArthur0205/leetcode-m...
KingArthur0205 May 14, 2022
a20ac9d
Merge branch 'youngyangyang04:master' into master
KingArthur0205 May 15, 2022
aa22b80
添加 背包理论基础01-2.mc C语言版本
KingArthur0205 May 15, 2022
d15c4af
Merge branch 'master' of https://github.com/KingArthur0205/leetcode-m...
KingArthur0205 May 15, 2022
19abe18
添加 0416.分割等和子集.md C语言版本
KingArthur0205 May 15, 2022
4f94d8a
Merge pull request #1296 from languagege/master
youngyangyang04 May 27, 2022
b4a40a2
Merge pull request #1298 from qingfengpiaoa/master
youngyangyang04 May 27, 2022
5719c00
Merge pull request #1301 from FizzerYu/patch-1
youngyangyang04 May 27, 2022
45a8a6b
Merge branch 'master' into master
youngyangyang04 May 27, 2022
309643e
Merge pull request #1302 from KingArthur0205/master
youngyangyang04 May 27, 2022
7684a1c
Merge pull request #1304 from xiaofei-2020/dp27
youngyangyang04 May 27, 2022
f115be0
Merge pull request #1305 from ZongqinWang/patch01
youngyangyang04 May 27, 2022
bb32a41
Merge pull request #1306 from xiaofei-2020/dp29
youngyangyang04 May 27, 2022
0e3a1bc
Merge pull request #1307 from xiaofei-2020/dp30
youngyangyang04 May 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
添加 0113.路径总和II C语言解法
  • Loading branch information
KingArthur0205 committed May 11, 2022
commit cb2fea63e7f5e616f697a715b9d523b6ba877308
65 changes: 64 additions & 1 deletion problems/0112.路径总和.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -1007,7 +1007,7 @@ func traversal(_ cur: TreeNode?, count: Int) {
```

## C
0112.路径总和
> 0112.路径总和
递归法:
```c
bool hasPathSum(struct TreeNode* root, int targetSum){
Expand Down Expand Up @@ -1062,6 +1062,69 @@ bool hasPathSum(struct TreeNode* root, int targetSum){
return false;
}
```
> 0113.路径总和 II
```c
int** ret;
int* path;
int* colSize;
int retTop;
int pathTop;

void traversal(const struct TreeNode* const node, int count) {
// 若当前节点为叶子节点
if(!node->right && !node->left) {
// 若当前path上的节点值总和等于targetSum。
if(count == 0) {
// 复制当前path
int *curPath = (int*)malloc(sizeof(int) * pathTop);
memcpy(curPath, path, sizeof(int) * pathTop);
// 记录当前path的长度为pathTop
colSize[retTop] = pathTop;
// 将当前path加入到ret数组中
ret[retTop++] = curPath;
}
return;
}

// 若节点有左/右孩子
if(node->left) {
// 将左孩子的值加入path中
path[pathTop++] = node->left->val;
traversal(node->left, count - node->left->val);
// 回溯
pathTop--;
}
if(node->right) {
// 将右孩子的值加入path中
path[pathTop++] = node->right->val;
traversal(node->right, count - node->right->val);
// 回溯
--pathTop;
}
}

int** pathSum(struct TreeNode* root, int targetSum, int* returnSize, int** returnColumnSizes){
// 初始化数组
ret = (int**)malloc(sizeof(int*) * 1000);
path = (int*)malloc(sizeof(int*) * 1000);
colSize = (int*)malloc(sizeof(int) * 1000);
retTop = pathTop = 0;
*returnSize = 0;

// 若根节点不存在,返回空的ret
if(!root)
return ret;
// 将根节点加入到path中
path[pathTop++] = root->val;
traversal(root, targetSum - root->val);

// 设置返回ret数组大小,以及其中每个一维数组元素的长度
*returnSize = retTop;
*returnColumnSizes = colSize;

return ret;
}
```



Expand Down

AltStyle によって変換されたページ (->オリジナル) /