Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ListNode* create_tree(int s) {
- if (s == 0)
- return nullptr;
- ListNode* root = new ListNode(1);
- create_node(root, 1, s);
- return root;
- }
- void create_node(ListNode* head, int index, int s) {
- if (index * 2 <= s) {
- ListNode* left = new ListNode(index * 2, nullptr, nullptr, head);
- head->left = left;
- create_node(left, index * 2, s);
- }
- if (index * 2 + 1 <= s) {
- ListNode* right = new ListNode(index * 2 + 1, nullptr, nullptr, head);
- head->right = right;
- create_node(right, index * 2 + 1, s);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement