就这破玩意儿我写了好几遍,可见基本功太差劲儿啊,药丸!
class Solution {
public:
ListNode * mergeTwoLists(ListNode* l1, ListNode* l2) {
if (l1 == nullptr&&l2 == nullptr) return l1;
else if (l1 == nullptr&&l2 != nullptr)return l2;
else if (l1 != nullptr&&l2 == nullptr)return l1;
ListNode* ptr1 = l1;
ListNode* ptr2 = l2;
ListNode* temp = new ListNode(0);
ListNode* re = temp;
while (1) {
if (ptr1->val <= ptr2->val) {
temp->next = new ListNode(ptr1->val);
temp = temp->next;
ptr1 = ptr1->next;
}
else {
temp->next = new ListNode(ptr2->val);
temp = temp->next;
ptr2 = ptr2->next;
}
if (ptr1 == nullptr&&ptr2 != nullptr) {
while (ptr2 != nullptr) {
temp->next = new ListNode(ptr2->val);
temp = temp->next;
ptr2 = ptr2->next;
}
break;
}
else if (ptr1 != nullptr&&ptr2 == nullptr) {
while (ptr1 != nullptr) {
temp->next = new ListNode(ptr1->val);
temp = temp->next;
ptr1 = ptr1->next;
}
break;
}
else if (ptr1 == nullptr&&ptr2 == nullptr) { break; }
}
re = re->next;
return re;
}
};