之前忘记记录这题了,现在补上。
合并两个有序的list,要求是:
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.
不知道我如下做是不是符合题目要求呢。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode *tmp = new ListNode(0); ListNode *head = tmp; while(l1 && l2) { if (l1 -> val <= l2 -> val) { tmp -> next = l1; tmp = l1; l1 = l1 -> next; } else { tmp -> next = l2; tmp = l2; l2 = l2 -> next; } } if (l1) { tmp -> next = l1; } else { tmp -> next = l2; } return head -> next; } };
时间: 2024-10-11 13:06:35