模拟链表

http://acm.sgu.ru/problem.php?contest=0&problem=397

    模拟链表 ,坑惨了我 ,自己模拟链表 出错 wa了 好久

#include<stdio.h>
#include<string.h>
const int maxn=1000005;
char str[maxn],T[maxn];
int per[maxn],next[maxn];
int main(){
    int n;
    while(scanf("%s",str)==1){
          n=strlen(str);
          int S=0,L=0;per[0]=next[0]=-1;
         for(int i=0;i<n;i++){
            if(str[i]>='a'&&str[i]<='z'){
                L++;
                T[L]=str[i];
                per[L]=S;
                if(next[S]!=-1){
                    per[next[S]]=L;
                }
                next[L]=next[S];
                next[S]=L;
                S=L;
            }
            else {
                if(str[i]=='L'&&per[S]!=-1) S=per[S];
                if(str[i]=='R'&&next[S]!=-1) S=next[S];
            }
        }
            S=next[0];
            while(S!=-1) {
                 printf("%c",T[S]);
                 S=next[S];
            }
            printf("\n");

    }

 return 0;
}


 

转载于:https://www.cnblogs.com/Opaser/p/3662040.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值