当前位置:网站首页>4274. suffix expression

4274. suffix expression

2022-06-24 08:56:00 Ray. C.L

 Insert picture description here

Ideas : Build up trees , After the sequence traversal , Special judgment on minus sign

Code :

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 30;
string v[N];
int st[N],l[N],r[N];

void dfs(int u){
    
    cout << "(" ;
    if(l[u] != -1 && r[u] != -1){
    
        dfs(l[u]);
        dfs(r[u]);
        cout << v[u] ;
    }else if(l[u] == -1 && r[u] == -1){
    
        cout << v[u] ;
    }else{
    
        
        cout << v[u];
        dfs(r[u]);
    }
    cout << ")";
}
int main()
{
    
    int n;
    cin >> n;
    for(int i = 1; i <= n; i ++){
    
        cin >> v[i] >> l[i] >> r[i];
        
        if(l[i] != -1) st[l[i]] = 1;
        if(r[i] != -1) st[r[i]] = 1;
    }
    
    int root;
    for(int i = 1; i <= n; i ++)
        if(!st[i])
            root = i;
            
    dfs(root);
    
    
    return 0;
}
原网站

版权声明
本文为[Ray. C.L]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/175/202206240657407435.html