void arrFromTree(struct TreeNode* node, int *arr)
{
static int size=4;
static int i =0;
if(node==NULL)
{
return;
}
arrFromTree(node->left,arr);
arr[i]=node->val;
printf("arr at %d:%d\n",i,arr[i]);
i++;
arr=realloc(arr,(size)*sizeof(int));
size=size+4;
// printf("val:%d\n",node->val);
arrFromTree(node->right,arr);
}
int kthSmallest(struct TreeNode* root, int k){
int *arr=(int*)malloc(sizeof(int));
arrFromTree(root,arr);
return k;
}
I was solving a leet code question , I am unable increase the size of the memory block using realloc(), I tried directly allocating the memory using malloc and it works fine don't know what's the issue, is the it creating issue because I am using recursion here?