力扣-21.合并两个有序链表
题目描述
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
class Solution {
public:ListNode *mergeTwoLists(ListNode *list1, ListNode *list2) {ListNode *l = new ListNode(-1);ListNode *p = l;while (list1 && list2) {if (list1->val < list2->val) {p->next = list1;list1 = list1->next;p = p->next;} else {p->next = list2;list2 = list2->next;p = p->next;}}if (list1) {p->next = list1;} else if (list2) {p->next = list2;} elsep->next = NULL;return l->next;}
};
小结:思路简单,注意头结点边界即可