*/ 
void doubleTree(struct node* node) { 
  struct node* oldLeft;

  if (node==NULL) return;

  // do the subtrees 
  doubleTree(node->left); 
  doubleTree(node->right);

  // duplicate this node to its left 
  oldLeft = node->left; 
  node->left = newNode(node->data); 
  node->left->left = oldLeft; 
} 