llllmz

导航

24. 两两交换链表中的节点C

没必要纠结太麻烦的方法。

简单的就两种,一个就是新拿出来空间来装。

要不然就是直接前后数据换一下就行了。

然后需要考虑表空的情况。

结果:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* swapPairs(struct ListNode* head) {
    if(!head) return NULL;
    struct ListNode* s=head->next;
    struct ListNode* f=head;
    while(f!=NULL&&s!=NULL){
        int t=f->val;
        f->val=s->val;
        s->val=t;
        f=s->next;
        if(!f) break;
        s=f->next;
    }
    return head;
}

结果:

posted on 2024-02-28 16:13  神奇的萝卜丝  阅读(12)  评论(0)    收藏  举报