leetcode 24 Swap Nodes in Pairs

    xiaoxiao2021-03-25  73

    /** * 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) return nullptr; ListNode headd(-1); headd.next = head; ListNode *p,*n1,*n2; p = &headd; while(p && p->next && p->next->next) { n1 = p->next; n2 = p->next->next; p->next = n2; n1->next = n2->next; n2->next = n1; p = p->next->next; } return headd.next; } }; 这个题是为了交换相邻两个节点的数值,最后返回头节点,但是开始读题的时候在想如果是奇数的节点数怎么办。。然后发现如果是奇数最后一个节点就不用管了。在编写的时候while循环里面写成了while(p->next->next&&p->next&&p)疯狂报错。因为有种情况p已经是空了,所以p->next就一定会报错,把顺序放正就好了。
    转载请注明原文地址: https://ju.6miu.com/read-22760.html

    最新回复(0)