ListNode
對于鏈表L
如果友誼新節點node,node1
則 node=L;node會全部復制L的所有的節點關系,此時再node->next=NULL,則L也會被改變,L的所有節點將遺失。
正確做法應是: node=L;
node1=node->next;
node->next=NULL;
例如:
istNode* merge(ListNode* node1,ListNode* node2)
{
if(node1==NULL)return node2;
if(node2==NULL)return node1;
ListNode* head=NULL;
ListNode* cur=NULL;
ListNode* n1=node1;
ListNode* n2=node2;
while(n1 && n2)
{
if(head==NULL)
{
if(n1->val<n2->val)
{
head=cur=n1;
n1=n1->next;
cur->next=NULL;
}
else{
head=cur=n2;
n2=n2->next;
cur->next=NULL;
}
}
else{
if(n1->val<n2->val)
{
cur->next=n1;
n1=n1->next;
cur=cur->next;
cur->next=NULL;
}
else{
cur->next=n2;
n2=n2->next;
cur=cur->next;
cur->next=NULL;
}
}
}
if(n1) cur->next=n1;
if(n2) cur->next=n2;
return head;
}
如果這兩句: n1=n1->next;
cur->next=NULL; 顛倒,則會丟失node1鏈表
總結
- 上一篇: Net中实现HTML生成图片或PDF
- 下一篇: CENTER OS7关闭防火墙