Leecode21合并两个有序链表
通过代码
class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
ListNode *head=new ListNode();
ListNode *rsl=new ListNode();
head->next=rsl;
while(list1!=nullptr && list2!=nullptr){
if (list1->val>=list2->val){
ListNode *node=new ListNode(list2->val);
rsl->next=node;
list2=list2->next;
}
else if(list1->val<list2->val){
ListNode *node=new ListNode(list1->val);
rsl->next=node;
list1=list1->next;
}
rsl=rsl->next;
}
if(list1!=nullptr){rsl->next=list1; rsl=rsl->next;}
if(list2!=nullptr){rsl->next=list2; rsl=rsl->next;}
return head->next->next;
}
};
代码笔记
- 题目所给的注释代码给出了链表结构
- 一些链表的基本操作 注意头节点是一个链表的标志