题解 | #牛牛的链表交换#

牛牛的链表交换

https://www.nowcoder.com/practice/0e009fba6f3d47f0b5026b5f8b0cb1bc

#include <stdio.h>
#include<malloc.h>
typedef struct node {
    int data;
    struct node* next;
} node;
//交换a和a->next位置
node* swap(node* a) {
    node* temp = a->next;
    a->next = a->next->next;
    temp->next = a;
    return temp;
}
int main() {
    int n, m;
    node* head = malloc(sizeof(node));
    node* t = head;
    scanf("%d", &n);
    m = n;
    while (m--) {
        scanf("%d", &t->data);
        node* node = malloc(sizeof(node));
        t->next = node;
        t = node;
    }
    head = swap(head);
    for (int i = 0; i < n; i++) {
        if (i == n - 2)head = swap(head);
        printf("%d ", head->data);
        head = head->next;
    }

    return 0;
}

#C#
0基础学C 文章被收录于专栏

0基础学C,从算法开始

全部评论

相关推荐

08-27 21:03
已编辑
西南石油大学 Java
冷花幽露:大概率是了,京东面试就是这样。我上周一面也是20多分钟,面试官问的很刁钻的问题也答上来了,面完过了几天还是没推进,泡池子,昨天一看挂了。如果一面完第2天没有收到2面邀请,基本上不用抱希望了。如果你的bg是985,面试流程也是和我们一样,20多分钟,唯一区别就是面完他们会很快收到二面邮件,而不像我们泡池子然后挂掉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务