Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int tree_size;
- cin >> tree_size;
- vector <Node> tree(tree_size + 1);
- vector <bool> is_root(tree_size + 1, true);
- is_root[0] = false;
- for (int i = 1; i <= tree_size; ++i) {
- int left, right;
- cin >> left >> right;
- is_root[left] = false;
- is_root[right] = false;
- tree[i].val = i;
- if (left == 0) {
- tree[i].left = nullptr;
- } else {
- tree[i].left = &tree[left];
- }
- if (right == 0) {
- tree[i].right = nullptr;
- } else {
- tree[i].right = &tree[right];
- }
- }
- Node* root = nullptr;
- for (int i = 1; i < is_root.size(); ++i) {
- if (is_root[i]) {
- root = &tree[i];
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement