题解 | #牛牛的链表添加节点#

牛牛的链表添加节点

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

#include <stdio.h>

typedef struct Node{
    int data;
    struct Node* next;
} node;
node* cai(int v){
    node* k = (node*)malloc(sizeof(node));
    k->data=v;
    k->next=NULL;
    return k;
}
void addn(node* head, int k) {
    if (k < 0) return;  // Handle negative k values
    
    node* new_node = cai(k);
    if (k == 0) {
        new_node->next = head;
        head = new_node;
        return;
    }

    node* current = head;
    for (int i = 1; i < k && current != NULL; i++) {
        current = current->next;
    }

    if (current != NULL) {
        new_node->next = current->next;
        current->next = new_node;
    }
}
int main(){
    int n,k;
    scanf("%d",&n);
    scanf("%d",&k);
    node* head=NULL;
    node* tail=NULL;
    for(int i=0;i<n;i++){
        int v;
        scanf("%d",&v);
        node* kk=cai(v);
        if(head==NULL){
            head=kk;
            tail=kk;
        }else{
            tail->next=kk;
            tail=kk;
        }
    }
    addn(head, k);
    node* p=head;
    while(p!=NULL){
        printf("%d ",p->data);
        p=p->next;
    }
}

全部评论

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务