有两种方式:
1.从表头插入
p->next=head;
head=p;
2.从表尾插入
定义完,
rear=head;
开始插入:
rear->next=p;
rear=p;
最后,rear->next=p;
return head->next;
详细链接:https://www.cnblogs.com/plxx/p/3388098.html
Leetcode 21. 合并两个有序链表
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *list,*tmp ;
list=(struct ListNode *)malloc(sizeof(struct ListNode));
tmp=list;
if(l1==NULL) return l2;
else if(l2==NULL) return l1;
while(l1!=NULL||l2!=NULL){
if(l1==NULL){
tmp->next=l2;
break;
}
if(l2==NULL){
tmp->next=l1;
break;
}
if(l1->val<l2->val){
tmp->next=l1;
l1=l1->next;
}
else{
tmp->next=l2;
l2=l2->next;
}
tmp=tmp->next;
}
return list->next;
}
};