[LeetCode]Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

这道题是让合并两个有序链表。增设一个头结点。下面贴上代码:

;struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};class Solution {public:ListNode* create(){int num;cout << “请输入个数:”;cin >> num;ListNode* head = new ListNode(0);ListNode* first = head;for (int i = 0; i < num; i++){int n;cin >> n;ListNode* newNode = new ListNode(n);head->next = newNode;head = newNode;}return first->next;}ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {ListNode* h1 = l1;ListNode* h2 = l2;ListNode* ans = new ListNode(0);ListNode* l3 = ans;while (h1&&h2){if (h1->val <= h2->val){ans->next = h1;ans = h1;h1 = h1->next;}else{ans->next = h2;ans = h2;h2 = h2->next;}}ans->next = h1 ? h1 : h2;return l3->next;}};int main(){Solution s;ListNode* l1 = s.create();ListNode* l2 = s.create();ListNode* l3 = s.mergeTwoLists(l1, l2);while (l3){cout << l3->val << ” “;l3 = l3->next;}cout << endl;return 0;}

附加了链表的建立以便测试。

,大多数人想要改造这个世界,但却罕有人想改造自己。

[LeetCode]Merge Two Sorted Lists

相关文章:

你感兴趣的文章:

标签云: