This works fine(you skip the root with this method)
node* skewHeap::remove(node* n,int k){
if( n == NULL) return NULL;
if(n->left && n->left->key == k) {
n->left = merge(n->left->left,n->left->right);
return n;
}
if(n->right && n->right->key == k) {
n->right = merge(n->right->left,n->right->right);
return n;
}
remove(n->left,k);
remove(n->right,k);
}