From c5a9eadab17dcea7e9d693f144c7f2669d5f4c54 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 26 Oct 2021 15:09:19 +0100 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200108.=E5=B0=86?= =?UTF-8?q?=E6=9C=89=E5=BA=8F=E6=95=B0=E7=BB=84=E8=BD=AC=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=90=9C=E7=B4=A2=E6=A0=91.md=20C=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...将有序数组转换为二叉搜索树.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/problems/0108.将有序数组转换为二叉搜索树.md b/problems/0108.将有序数组转换为二叉搜索树.md index e82d6e95..7dcce649 100644 --- a/problems/0108.将有序数组转换为二叉搜索树.md +++ b/problems/0108.将有序数组转换为二叉搜索树.md @@ -375,8 +375,25 @@ var sortedArrayToBST = function (nums) { }; ``` +##C +递归 +```c +struct TreeNode* traversal(int* nums, int left, int right) { + if (left > right) + return NULL; + int mid = left + ((right - left) / 2); + struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode)); + root->val = nums[mid]; + root->left = traversal(nums, left, mid - 1); + root->right = traversal(nums, mid + 1, right); + return root; +} - +struct TreeNode* sortedArrayToBST(int* nums, int numsSize) { + struct TreeNode* root = traversal(nums, 0, numsSize - 1); + return root; +} +``` ----------------------- * 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) From 79623eba4afb9700fed82d3b0a6d44fa7870e98e Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 26 Oct 2021 15:59:35 +0100 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200538.=E6=8A=8A?= =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=90=9C=E7=B4=A2=E6=A0=91=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E4=B8=BA=E7=B4=AF=E5=8A=A0=E6=A0=91.md=20C=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...38.把二叉搜索树转换为累加树.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/problems/0538.把二叉搜索树转换为累加树.md b/problems/0538.把二叉搜索树转换为累加树.md index 6de98c6f..16b00817 100644 --- a/problems/0538.把二叉搜索树转换为累加树.md +++ b/problems/0538.把二叉搜索树转换为累加树.md @@ -293,6 +293,27 @@ var convertBST = function (root) { }; ``` +##C + +递归 +```c +int pre; +void traversal(struct TreeNode* node) { + if(!node) + return ; + traversal(node->right); + node->val = node->val + pre; + pre = node->val; + traversal(node->left); +} + +struct TreeNode* convertBST(struct TreeNode* root){ + pre = 0; + traversal(root); + return root; +} +``` + ----------------------- * 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) * B站视频:[代码随想录](https://space.bilibili.com/525438321) From c9845b1153addce3d5cc95ecb2864f22f5af16b7 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 28 Oct 2021 12:22:05 +0100 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=200108.=E5=B0=86?= =?UTF-8?q?=E6=9C=89=E5=BA=8F=E6=95=B0=E7=BB=84=E8=BD=AC=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=E4=BA=8C=E5=8F=89=E6=90=9C=E7=B4=A2=E6=A0=91.md=20=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0108.将有序数组转换为二叉搜索树.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/problems/0108.将有序数组转换为二叉搜索树.md b/problems/0108.将有序数组转换为二叉搜索树.md index 7dcce649..213eb2b9 100644 --- a/problems/0108.将有序数组转换为二叉搜索树.md +++ b/problems/0108.将有序数组转换为二叉搜索树.md @@ -375,7 +375,7 @@ var sortedArrayToBST = function (nums) { }; ``` -##C +## C 递归 ```c struct TreeNode* traversal(int* nums, int left, int right) {