数组作为函数的形参的时候,表示的只是头指针。不能再用sizeof来计算数组的大小。
如果直接sizeof(array),那就不对了。我们可以把len传进来。
LinkNode * initLink(LinkNode *dummy,int array[],int len)
{
if(dummy == NULL || sizeof(array) == 0)
return NULL;
LinkNode *tmp,*head;
tmp = dummy;
//使用的是尾插入法
for(int i=0;i<len;i++)
{
LinkNode *p = new LinkNode(array[i]);
tmp->next=p;
tmp = tmp->next;
}
head = dummy->next;
delete dummy;
return head;
}
void main()
{
Solution sol;
int array1[] = {6,2,5};
int len1 = sizeof(array1)/sizeof(int);
int array2[] = {4,5,6};
int len2 = sizeof(array2)/sizeof(int);
LinkNode *dummy1 = sol.createLink();
LinkNode *head1 = sol.initLink(dummy1,array1,len1);
LinkNode *dummy2 = sol.createLink();
LinkNode *head2 = sol.initLink(dummy2,array2,len2);
return;
}