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

牛牛的链表交换

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

#include<stdio.h>
#include<stdlib.h>
//定义结构体
typedef struct changenode {
    int num;
    struct changenode* next;
} node;
int main() {
    int n = 0;
    scanf("%d", &n);
    //创建头节点
    node* head = (node*)malloc(sizeof(node));
    head->next = NULL;
    node* p = head;
    //创建新节点
    for (int i = 0; i < n; i++) {
        node* newnode = (node*)malloc(sizeof(node));
        scanf("%d", &newnode->num);
        newnode->next = NULL;
        //指向最末端的节点
        while (p->next != NULL)
            p = p->next;
        //末端节点与新节点链接
        p->next = newnode;
        p = p->next;
    }
    int k = 0;
    //遍历链表
    node* pt = head->next;
    while (pt) {
        //节点交换
        if (k == 0 || k == n - 2) {
            int k = pt->num;
            pt->num = pt->next->num;
            pt->next->num = k;
        }
        printf("%d ", pt->num);
        //推进
        pt = pt->next;
        k++;
    }
    return 0;
}

全部评论

相关推荐

fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
勇敢牛牛不怕困难,希望能过初筛
投递韶音科技等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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