leetcode第二题,代码能在本机上正常运行,但提交就会出错!

leetcode上的第二题用本机IDE调试没有问题,但是提交上去就会报错,求大佬解释!
代码如下:

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2)
{
  int num=0;
  int N;
  int len;
  int count;
  int * array;
  struct ListNode* List = (struct ListNode*)malloc(sizeof(struct ListNode));
  struct ListNode* pHead = List;
  for(count=0;l1->next!=NULL;count++)
  {
    l1 = l1->next;
    num+=l1->val*pow(10,count);
  }
  for(count=0;l2->next!=NULL;count++)
  {
    l2 = l2->next;
    num+=l2->val*pow(10,count);
  }

  for(len=0,count=num;count;len++)
  count = count/10;

  array = (int *)malloc(sizeof(int)*len);
  for(count=len-1;count>=0;count--)
  {
      N = num/pow(10,count);
      array[count] = N%10;
  }

  for(count=0;count<len;count++)
  {
    struct ListNode* pNew = (struct ListNode*)malloc(sizeof(struct ListNode));
    pNew->next=NULL;
    pHead->next = pNew;
    pNew->val = array[count];
    pHead = pNew;
  }

  return List;
}

求大佬解答小弟的困惑!