当前位置: 首页> 科技> 能源 > 企业网站建设有名 乐云seo_江门网站_外贸网站推广服务_东莞排名优化团队

企业网站建设有名 乐云seo_江门网站_外贸网站推广服务_东莞排名优化团队

时间:2025/7/9 17:14:05来源:https://blog.csdn.net/m0_59237910/article/details/142666781 浏览次数:0次
企业网站建设有名 乐云seo_江门网站_外贸网站推广服务_东莞排名优化团队

题目:

题解:

#define MAX_NODE_SIZE 10000void postOrder(struct TreeNode *root, int *arr, int *pos) {if (root == NULL) {return;}postOrder(root->left, arr, pos);postOrder(root->right, arr, pos);arr[(*pos)++] = root->val;
}struct TreeNode * construct(int lower, int upper, int *stack, int *top) {if (*top == 0 || stack[*top - 1] < lower || stack[*top - 1] > upper) {return NULL;}int val = stack[*top - 1];(*top)--;struct TreeNode *root = (struct TreeNode *)malloc(sizeof(struct TreeNode));root->val = val;root->right = construct(val, upper, stack, top);root->left = construct(lower, val, stack, top);return root;
}char* serialize(struct TreeNode* root) {char *res = NULL;int *arr = (int *)malloc(sizeof(int) * MAX_NODE_SIZE);int pos = 0;postOrder(root, arr, &pos);if (pos == 0) {return "";}res = (char *)malloc(sizeof(char) * pos * 6);int len = 0;for (int i = 0; i < pos - 1; i++) {len += sprintf(res + len, "%d,", arr[i]);}sprintf(res + len, "%d", arr[pos - 1]);free(arr);return res;
}struct TreeNode* deserialize(char* data) {int len = strlen(data);if (len == 0) {return NULL;}int *stack = (int *)malloc(sizeof(int) * MAX_NODE_SIZE);int pos = 0;int top = 0;while (pos < len) {while (pos < len && data[pos] == ',') {pos++;}int val = 0;int start = pos;while (pos < len && data[pos] != ',') {val = val * 10 + data[pos] - '0';pos++;}if (start < pos) {stack[top++] = val;}}struct TreeNode *root = construct(INT_MIN, INT_MAX, stack, &top);free(stack);return root;
}
关键字:企业网站建设有名 乐云seo_江门网站_外贸网站推广服务_东莞排名优化团队

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: