一个浪漫的故事--传纸条

题目链接:https://acm.sdut.edu.cn/onlinejudge3/problems/2615

别的队列和栈的题我都懒得传了,这个挺让我眼前一动的;

 

 

 

 

其实吸引我的不是题目的难度哈哈哈,其实是这道题本身,想当年也是有人给我写过小纸条的哈哈哈=.=

算了,不感慨了直接上题吧哈哈哈

题目思路:

应用栈来解决,首先传入的是这个字符串,字符串是一定要小心输入的,尤其是用优化,所以说改有的输入空格啊,就一定要有

我们传入字符串之后,如果队列为空就把元素入栈就好了,因为当前栈内没有东西与字符串相匹配,

注意:是倒着匹配的,因为你运行完了会发现正着传入和倒着传入是相反的,而倒着传入是和题目的要求是一致的

然后就开始匹配判断,如果与之相匹配就入栈,不匹配的也入栈用于下一次匹配;

然后这个故事就完美的结束啦

Talk is cheap. Show me the code.

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int t;
 4 int main()
 5 {
 6     ios::sync_with_stdio(false);
 7     cin.tie(0);
 8     cout.tie(0);
 9     string s;
10     cin>>t;
11     cin.get();//小心点,是字符串
12     while(t--)
13     {
14         stack<char>q;
15         getline(cin,s);
16         for(register int  i=size()-1; i>=0; i--)//注意是倒着,正着是相反的
17         {
18             if(q.empty())
19                 q.push(s[i]);
20             else if(q.top()==s[i])
21                 q.pop();
22             else q.push(s[i]);
23         }
24         while(!q.empty())
25         {
26             cout<<q.top();
27             q.pop();
28         }
29         cout<<endl;
30     }
31     return 0;
32 }

 

posted @ 2022-05-06 17:37  江上舟摇  阅读(16)  评论(0编辑  收藏  举报