/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
int i = 0;
struct ListNode* p,*q;
struct ListNode* head;
p = l1;
//如果第一个链表为空,则直接返回第二个链表
if(l1 == NULL){
return l2;
}
//当到达最后一个时候,最后一个的下一个正好为空,此时p就正好为链表的最后一个
while(p->next){
p = p->next;
}
//第一个链表的
p->next = l2;
head = l1;
while(1){
int judge = 0;
q = head;
while(q->next){
if(q->val>q->next->val){
judge = 1;
struct ListNode* temp = q->val;
q->val = q->next->val;
q->next->val = temp;
}
q = q->next;
};
if(!judge){
break;
}
}
return head;
}
C语言 合并两个链表并对合成的新链表进行排序
最新推荐文章于 2023-05-20 22:14:47 发布