Advertisement
CyberN00b

Untitled

Dec 4th, 2022 (edited)
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. ListNode* create_tree(int s) {
  2.     if (s == 0)
  3.         return nullptr;
  4.     ListNode* root = new ListNode(1);
  5.     create_node(root, 1, s);
  6.     return root;
  7. }
  8. void create_node(ListNode* head, int index, int s) {
  9.     if (index * 2 <= s) {
  10.             ListNode* left = new ListNode(index * 2, nullptr, nullptr, head);
  11.             head->left = left;
  12.             create_node(left, index * 2, s);
  13.         }
  14.     if (index * 2 + 1 <= s) {
  15.         ListNode* right = new ListNode(index * 2 + 1, nullptr, nullptr, head);
  16.         head->right = right;
  17.         create_node(right, index * 2 + 1, s);
  18.     }
  19.  
  20. }
  21.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement