当前位置: 首页> 教育> 高考 > 永久免费建站程序_设计网站的意义_精准引流的网络推广_市场调研的步骤

永久免费建站程序_设计网站的意义_精准引流的网络推广_市场调研的步骤

时间:2025/7/14 11:24:58来源:https://blog.csdn.net/weixin_68757855/article/details/146302783 浏览次数:0次
永久免费建站程序_设计网站的意义_精准引流的网络推广_市场调研的步骤

晴问 通过中序遍历判断左右子树,接着从层序遍历中,把左子树的层序遍历和右子树的层序遍历提取出来

#include <bits/stdc++.h>using namespace std;vector<int> in, cc;struct treeNode {int data;treeNode *left;treeNode *right;treeNode(int data) : data(data), left(nullptr), right(nullptr) {}
};treeNode *dfs(treeNode *&root, vector<int> &level, int in_left, int in_right) {if (level.size() == 0) return nullptr;int curRootNum = level[0], rootInIndex;for (rootInIndex = in_left; rootInIndex <= in_right; ++rootInIndex) {if (in[rootInIndex] == curRootNum) break;}root = new treeNode(curRootNum);set<int> leftTree;for (int i = in_left; i < rootInIndex; ++i) {leftTree.insert(in[i]);}vector<int> level_left, level_right;for (int i = 0; i < level.size(); ++i) {if (level[i] == curRootNum) continue;if (leftTree.find(level[i]) != leftTree.end()) {level_left.push_back(level[i]);} else {level_right.push_back(level[i]);}}dfs(root->left, level_left, in_left, rootInIndex - 1);dfs(root->right, level_right, rootInIndex + 1, in_right);return root;
}vector<int> result;void preOrder(treeNode *root) {if (root == nullptr) return;result.push_back(root->data);preOrder(root->left);preOrder(root->right);
}int main() {int n;cin >> n;for (int i = 0; i < n; ++i) {int num;cin >> num;cc.push_back(num);}for (int i = 0; i < n; ++i) {int num;cin >> num;in.push_back(num);}treeNode *root;dfs(root, cc, 0, n - 1);preOrder(root);for (int i = 0; i < result.size(); ++i) {cout << result[i];if (i != result.size() - 1) cout << " ";}return 0;
}

关键字:永久免费建站程序_设计网站的意义_精准引流的网络推广_市场调研的步骤

版权声明:

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

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

责任编辑: