思路
比合并有序数组更简单,归并有序链表逐个比较即可。此外,用dummy node来指向实际链表头能使代码简化。
class Solution { public: /** * * @param l1 ListNode类 * @param l2 ListNode类 * @return ListNode类 */ ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { // write code here if(!l1) return l2; if(!l2) return l1; ListNode* dummy = new ListNode(0); ListNode* p = dummy; while(l1 && l2) { if(l1->val < l2->val) { p->next = l1; l1 = l1->next; } else { p->next = l2; l2 = l2->next; } p = p->next; } if(!l1) p->next = l2; else p->next = l1; return dummy->next; } };