首页 > 代码库 > uva11988
uva11988
此处采用的是链表的思想,具体实现过程任然需要注意,知识是死的,而自己的思想是活的,加油,自己
<pre name="code" class="cpp">#include <iostream> #include <cstring> #include <cstdio> using namespace std; #define maxn 100005 int cur, last, next[maxn]; char s[maxn]; int main() { while(~scanf("%s",s+1)) { int n = strlen(s+1); last=cur=0; next[0]=0; for(int i=1; i<=n; i++) { char ch=s[i]; if(ch=='[') cur=0; else if(ch==']') cur=last; else { next[i]=next[cur];///光标原来所指向的位置需要进行保留 next[cur]=i;///光标此时指向的下一个数自然就是s[i],这里表示为在字符串中其位置 if(cur == last) last=i; cur=i; } } for(int i=next[0]; i!=0; i=next[i]) cout<<s[i]; cout<<endl; } return 0; }
uva11988
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。