一、C++ 代码
class Solution {
public:
ListNode* insert(ListNode *res, int val) {
if (res->val == INT_MAX) {
res->val = val;
return res;
}
else {
res->next = new ListNode(val);
return res->next;
}
}
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if (l1 == NULL && l2 == NULL)
return NULL;
ListNode *res = new ListNode(INT_MAX);
ListNode *nowNode = res;
while (l1 || l2) {
if (l1 == NULL) {
nowNode = insert(nowNode, l2->val);
l2 = l2->next;
}
else if (l2 == NULL) {
nowNode = insert(nowNode, l1->val);
l1 = l1->next;
}
else if (l1->val > l2->val) {
nowNode = insert(nowNode, l2->val);
l2 = l2->next;
}
else {
nowNode = insert(nowNode, l1->val);
l1 = l1->next;
}
}
return res;
}
};