肥西县建设局官方网站,wordpress标题相关,手机制作网页,厦门广告公司排名“路虽远#xff0c;行则将至” ❤️主页#xff1a;小赛毛 ☕今日份刷题#xff1a;合并两个有序链表 题目描述#xff1a;
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例1#xff1a; 输入#xff1a;l1 … “路虽远行则将至” ❤️主页小赛毛 ☕今日份刷题合并两个有序链表 题目描述
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例1 输入l1 [1,2,4], l2 [1,3,4]
输出[1,1,2,3,4,4]
示例2
输入l1 [], l2 []
输出[]
示例3
输入l1 [], l2 [0]
输出[0]
题目分析
这题可太经典了直接取小的尾插
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1 NULL){return list2;}if(list2 NULL){return list1;}struct ListNode* head NULL,*tail NULL;while(list1 list2){//取小的尾插if(list1-val list2-val){if(tail NULL){head tail list1;}else{tail-next list1;tail tail-next;}list1 list1-next;}else{if(tail NULL){head tail list2;}else{tail-next list2;tail tail-next;}list2 list2-next;}}if(list1){tail-next list1;}if(list2){tail-next list2;}return head;
}