美文网首页Leetcode做题笔记
Leetcode笔记(Linked List)——Swap No

Leetcode笔记(Linked List)——Swap No

作者: Scaryang | 来源:发表于2019-01-09 09:54 被阅读0次

    Problem

    Given a linked list, swap every two adjacent nodes and return its head.

    Example

    Given 1->2->3->4, you should return the list as 2->1->4->3.

    Solution

    /**
     * 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) {    
                
                 ListNode **pp = &head, *a, *b;
                 while ((a = *pp) && (b = a->next)) {
                       a->next = b->next;
                       b->next = a;
                       *pp = b;
                       pp = &(a->next);
                 }
                 return head;
    
        }
    };
    

    相关文章

      网友评论

        本文标题:Leetcode笔记(Linked List)——Swap No

        本文链接:https://www.haomeiwen.com/subject/szlwrqtx.html