题意:合并两个排列好的队列。
思路:列表的基本操作。
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode *nextl1 = l1;
ListNode *nextl2 = l2;
ListNode *head = new ListNode(0);
ListNode *next = head;
while(nextl1 ||nextl2) {
int val1 = 9999999;
int val2 = 9999999;
if(nextl1) val1 = nextl1->val;
if(nextl2) val2 = nextl2->val;
if(val1 < val2) {
ListNode *temp = new ListNode(val1);
next->next = temp;
next = temp;
nextl1 = nextl1->next;
}
else {
ListNode *temp = new ListNode(val2);
next->next = temp;
next = temp;
nextl2 = nextl2->next;
}
}
return head->next;
}
};

本文介绍了一种使用C++实现的合并两个已排序链表的方法。通过遍历两个链表并比较节点值,将较小值的节点依次连接到新链表中,直至所有节点都被处理。该算法适用于计算机科学中的数据结构处理。
212

被折叠的 条评论
为什么被折叠?



