题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

http://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

虽然但是,C语言用链表可能麻烦了点,但就纯粹解这道题好像不是必须用链表的吧。

#include <stdio.h>
#include <stdlib.h>
int main(){
    int num=0;
    while(scanf("%d",&num)!=EOF){
        int *a;
        a=(int*)malloc(sizeof(int)*num);
        scanf("%d",&a[0]);
        for(int i=1;i<num;i++){
            int temp,value;
            scanf("%d%d",&value,&temp);
            for(int j=0;j<i;j++){
                if(temp==a[j]){
                    for(int k=i; k>j+1;k--)
                        a[k]=a[k-1];
                    a[j+1]=value;
                }
            }
        }
        int delete;
        scanf("%d",&delete);
        for(int i=0;i<num;i++){
            if(a[i]!=delete)
               printf("%d ",a[i]);
        }
        printf("\n");
        free(a);
    }
    return 0;
}
全部评论
审题
点赞 回复 分享
发布于 01-16 09:48 四川

相关推荐

不愿透露姓名的神秘牛友
06-27 20:15
还能挽救吗?找同学帮忙看了一下&nbsp;字节怎么能如此对我
牛客26396789...:你这是严重红线,被发现你自己永远进不去,你那个同学直接走人,你还敢宣扬
点赞 评论 收藏
分享
评论
10
1
分享

创作者周榜

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