题解 | 牛牛的双链表求和

牛牛的双链表求和

https://www.nowcoder.com/practice/efb8a1fe3d1f439691e326326f8f8c95

#include <stdio.h>
#include <stdlib.h>

// write your code here......
typedef struct Node
{
  int data;
  struct Node* next;
}Node;

//将数组转化为链表

Node* creatlist(int* arr, int n)
{
    Node* head = NULL;
    Node* tail = NULL;
    if(n==0)
    {
        return NULL;
    }
    for(int i=0;i<n;i++)
    {
        Node* newnode = (Node*)malloc(sizeof(Node));
        newnode->data=arr[i];
        newnode->next=NULL;
        if(head==NULL)
        {
            head=newnode;
            tail=newnode;
        }else
        {
            tail->next=newnode;
            tail = newnode;
        }   

    }
    return head;
}
int main() {

    int n;
    scanf("%d",&n);

    int* a=(int*)malloc(n*sizeof(int));

    for (int i = 0; i < n; i++) {
        scanf("%d",&a[i]);
    }

    int* b=(int*)malloc(n*sizeof(int));

    for (int i = 0; i < n; i++) {
        scanf("%d",&b[i]);
    }

    // write your code here......
    Node* head_a = creatlist(a, n);
    Node* head_b = creatlist(b, n);
    int* c=(int*)malloc(n*sizeof(int));
    Node* currenta= head_a;
    Node* currentb= head_b;
    for(int j=0;j<n;j++)
    {
        c[j]=currenta->data+currentb->data;
        currenta=currenta->next;
        currentb=currentb->next;
    }
    for(int j=0;j<n;j++)
    {
        printf("%d ",c[j]);
    }

    free(a);
    free(b);
    return 0;
}

主要考点:1. 如何将数组转化为链表;2. 用数组去接收链表的data;c=a+b

#链表##笔试#
全部评论

相关推荐

瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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