题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f?tpId=37&tqId=21271&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int e[1010];
int ne[1010];
int cnt = 0;
int main() {
int n=0;
int m;
scanf("%d %d",&n,&m);
memset(ne,-1,sizeof ne);
e[cnt++] = m;
for(int i=0;i<n-1;i++)
{
int a,b;
scanf("%d %d",&a,&b);
for(int j=0;j<cnt;j++)
{
if(e[j]==b)
{
ne[cnt] = ne[j];
ne[j] = cnt;
e[cnt++] = a;
}
}
}
int x;
scanf("%d",&x);
for(int i=0;i!=-1;i=ne[i])
{
if(e[i]!=x)
{
printf("%d ",e[i]);
}
}
return 0;
}
// 64 位输出请用 printf("%lld")