/** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** * * @param l1 ListNode类 * @param l2 ListNode类 * @return ListNode类 */ ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { // write code here ListNode L(0); ListNode *p = &L; //头结点,下边就不用判断头是不是NULL了。 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 = l1; }else{ p->next = l2; } return L.next; } };