LeetCode(24) Swap Nodes in Pairs

来源:互联网 发布:焊接机器人编程 编辑:程序博客网 时间:2024/05/13 21:50
/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* swapPairs(ListNode* head) {        if(head == NULL)            return NULL;        if(head->next == NULL)            return head;        ListNode *newHead = new ListNode(0);        newHead->next = head;        ListNode *p1, *p2, *p3;        p1 = newHead;        p2 = p1->next;        p3 = p1->next->next;        while(p1->next != NULL && p1->next->next != NULL) {            p2 = p1->next;            p3 = p1->next->next;            ListNode *tmp;            p1->next = p2->next;            tmp = p3->next;            p3->next = p2;            p2->next = tmp;            p1 = p1->next->next;        }        return newHead->next;    }};
0 0
原创粉丝点击