唉,还有两个TLE该咋办
查看原帖
唉,还有两个TLE该咋办
846209
tanjunxi楼主2024/1/18 10:47
#include<iostream>
using namespace std;
struct node{
	int data;
	node*next;	
};
void add(node*abc,int x,node*&cba){
	node*q=new node;
	q->data=x;
	q->next=abc->next;
	abc->next=q;
	if(cba->next!=NULL)cba=cba->next;
}
void add(node*abc,int x,int y,node*&cba){
	node*q=new node,*p=abc;
	q->data=y;
	while(p->data!=x)p=p->next;
	q->next=p->next;
	p->next=q;
	if(cba->next!=NULL)cba=cba->next;
}
int main(){
	node*head=new node,*tail,*p;head->data=1;
	head->next=NULL;
	tail=head;
	int a[100000],b,n,x,y,c=0;cin>>b;
	for(int i=0;i<b;i++){
	cin>>n;p=head;
	if(n==1){
	cin>>x>>y;
	add(head,x,y,tail);	
	}
	else if(n==2){
	cin>>x;
	while(p->data!=x)p=p->next;
	a[c++]=p->next?p->next->data:0;	
	}
	else{
	cin>>x;
	while(p->data!=x)p=p->next;
	p->next=p->next->next;	
	}	
	}
	for(int i=0;i<c;i++)
	cout<<a[i]<<endl;
}
2024/1/18 10:47
加载中...