class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
int count = 0;
ListNode* ans = NULL,* p = NULL;
if (list1 == NULL)
return list2;
else if (list2 == NULL)
return list1;
while (list1!= NULL || list2!= NULL) {
//注意判断条件 list1!=NULL必须在前面 list1与2肯定不同时为0
//list1与2肯定不同时为NULL,list2为NULL时说明list2遍历完 此时只需添加list1
if (list1 != NULL&&(list2 == NULL || list1->val < list2->val)){
if (ans == NULL)
p = ans = list1;
else {
p->next = list1;
p = p->next;
}
list1 = list1->next;
}
else {
if (ans == NULL)
p = ans = list2;
else {
p->next = list2;
p = p->next;
}
list2 = list2->next;
}
}
return ans;
}
};
LeetCode 21. 合并两个有序链表
最新推荐文章于 2024-08-10 07:14:43 发布