浙江大学机试 二叉搜索树 Easy *考点:两个遍历序列确定一棵子树
Posted 宋霖轩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浙江大学机试 二叉搜索树 Easy *考点:两个遍历序列确定一棵子树相关的知识,希望对你有一定的参考价值。
基本思想:
无;
关键点:
无;
#include<iostream> #include<string> #include<vector> #include<queue> using namespace std; const int maxn = 1000000; int num[maxn]; int pa[maxn]; void init() { fill(num, num + maxn, -1); //fill(pa, pa + maxn, -1); } void insert(int n,int root,int (&inn)[maxn]) { if (inn[root] == -1) { inn[root] = n; return; } if (inn[root] > n) { insert(n, root * 2,inn); } else { insert(n, root * 2 + 1,inn); } } void charge(string s) { fill(pa, pa + maxn, -1); for (int i = 0; i < s.size(); i++) { insert(s[i] - ‘0‘, 1, pa); } for (int i = 0; i < maxn; i++) { if (pa[i] != num[i]) { cout << "NO" << endl; return; } } cout << "YES" << endl; return; } int main() { int n; string s; while (cin >> n) { if (n == 0) break; cin >> s; init(); for (int i = 0; i < s.size(); i++) { insert(s[i] - ‘0‘, 1,num); } for (int i = 0; i < n; i++) { cin >> s; charge(s); } } }
以上是关于浙江大学机试 二叉搜索树 Easy *考点:两个遍历序列确定一棵子树的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试真题 Python 实现查找二叉树节点2022.11 Q4 新题