Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99724 | 罗恩祥 | 前序遍历 | C++ | 解答错误 | 10 | 0 MS | 256 KB | 764 | 2023-08-23 16:22:18 |
#include <iostream> #include <stack> using namespace std; stack <int> s; bool flag[1024] = {0}; struct tree { int node; int left = -1,right = -1; } lst[1024]; void dfs(int num) { cout << lst[num].node << ' '; if(lst[num].left != -1) dfs(lst[num].left); if(lst[num].right != -1) dfs(lst[num].right); } int main() { int num; cin >> num; for(int i = 0;i < num;i++) { cin >> lst[i].node; } for(int i = 0;i < num;i++) { for(int k = i;k < num;k++) { if(lst[k].node < lst[i].node && flag[k] == 0 && lst[i].left == -1) { lst[i].left = k; flag[k] = 1; } if(lst[k].node > lst[i].node && flag[k] == 0 && lst[i].right == -1) { lst[i].right = k; flag[k] = 1; } } } dfs(0); }