MrSpaceCow

Binary Tree Input Version 2

Aug 9th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class node{
  6.     const int defaultVal = 0;
  7.  
  8. public:
  9.     int val;
  10.     node* left = NULL;
  11.     node* right = NULL;
  12.  
  13.     node(){
  14.         val = defaultVal;
  15.     }
  16.  
  17.     node(int value){
  18.         val = value;
  19.     }
  20.  
  21.     void set(int val, string dir, int index = 0){
  22.         if(index == dir.size()) {
  23.             this->val = val;
  24.             return;
  25.         }
  26.  
  27.         if(dir[index] == 'L') {
  28.             if(left == NULL)
  29.                 left = new node();
  30.             left->set(val, dir, ++index);
  31.         }else {
  32.             if(right == NULL)
  33.                 right = new node();
  34.             right->set(val, dir, ++index);
  35.         }
  36.     }
  37. };
  38.  
  39. int main() {
  40.     int numOfNodes, rootVal; cin >> numOfNodes >> rootVal;
  41.  
  42.     node* root = new node(rootVal);
  43.  
  44.     for(int i = 0; i < numOfNodes - 1; i++){
  45.         string dir; cin >> dir;
  46.         int val; cin >> val;
  47.  
  48.         root->set(val, dir);
  49.     }
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment