queue<TreeNode*> q1;
    
    q1.push(root);
    int count=1;
    if(count==d)
    {
         TreeNode *n5=new TreeNode(v);
         n5->left=root;
        return n5;
    }
    
    while(!q1.empty())
    {
        int size=q1.size();
        count++;
        if(count==d)
            break;
        for(int i=0;i<size;i++)
        {
            TreeNode *p1=q1.front();
            q1.pop();
            
            if(p1->left!=NULL)
                q1.push(p1->left);
            if(p1->right!=NULL)
                q1.push(p1->right);
        }
        
    }
    
    cout<<q1.size()<<" ";
    while(!q1.empty())
    {
        TreeNode *t1=q1.front();
        q1.pop();
        
         TreeNode *n1=new TreeNode(v);
          n1->left=t1->left;
          t1->left=n1;
       
            TreeNode *n2=new TreeNode(v);
            n2->right=t1->right;
            t1->right=n2;
        
    }
    return root;
Comments (0)