Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by rinkia ( 8 years ago )
{
#include <bits>
using namespace std;
struct Node
{
 int key;
 Node* left, *right;
};
Node* newNode(int key)
{
 Node* node = new Node;
 node->key = key;
 node->left = node->right = NULL;
 return (node);
}
void saveLeafNodes(Node* root, vector<Node> &leaf)
{
    if(!root)return;
    saveLeafNodes(root->left, leaf);
    if(root->left==NULL && root->right==NULL)leaf.push_back(root);
    saveLeafNodes(root->right, leaf);
}
void linkLeafNodes(Node* root)
{
    vector<Node> leaf;
    saveLeafNodes(root, leaf);
    if(leaf.size()<=1)return;
    for(int i=0; i<leaf xss=removed>right=leaf[i+1];
            leaf[i]->left=leaf[leaf.size()-1];
        }
        else if(i==leaf.size()-1)
        {
            leaf[i]->right=leaf[0];
            leaf[i]->left=leaf[i-1];
        }
        else
        {
            leaf[i]->right=leaf[i+1];
            leaf[i]->left=leaf[i-1];
        }
    }
    return;
}
int findTreeHeight(Node* node);
/* Driver program to test size function*/
int main()
{
  int t;
  struct Node *child;
  scanf("%d", &t);
  while (t--)
  {
     map<int> m;
     int n;
     scanf("%d",&n);
     struct Node *root = NULL;
     while (n--)
     {
        Node *parent;
        char lr;
        int n1, n2;
        scanf("%d %d %c", &n1, &n2, &lr);
        if (m.find(n1) == m.end())
        {
           parent = newNode(n1);
           m[n1] = parent;
           if (root == NULL)
             root = parent;
        }
        else
           parent = m[n1];
        child = newNode(n2);
        if (lr == 'L')
          parent->left = child;
        else
          parent->right = child;
        m[n2]  = child;
     }
     linkLeafNodes(root);
     cout<<findTreeHeight>left,l+1,h);
    if(node->right && node->right->left == node) {
        h = max(h,l);
        return;
    }
    s(node->right,l+1,h);
}

int findTreeHeight(Node* node)
{
 // Code here
 if(!node) return 0;
    int h = 1;
    s(node,1,h);
    return h; 
}

 

Revise this Paste

Your Name: Code Language: