标签:while head get ptr 题目 有序链表 ext leetcode init
题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
1 /**
2 * Definition for singly-linked list.
3 * struct ListNode {
4 * int val;
5 * ListNode *next;
6 * ListNode() : val(0), next(nullptr) {}
7 * ListNode(int x) : val(x), next(nullptr) {}
8 * ListNode(int x, ListNode *next) : val(x), next(next) {}
9 * };
10 */
11 class Solution {
12 public:
13 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
14 ListNode newHead(0);
15 ListNode *pi = &newHead;
16 while(l1 && l2)
17 {
18 if(l1->val > l2->val)
19 {
20 swap(l1,l2);
21 }
22 pi->next =l1;
23 l1 = l1->next;
24 pi = pi->next;
25 }
26 pi->next = l1?l1:l2;
27 return newHead.next;
28
29 }
30 };
标签:while head get ptr 题目 有序链表 ext leetcode init
原文地址:https://www.cnblogs.com/SophieWang-cmu/p/13775762.html