题解 | 点击消除,栈解法,图解

点击消除

https://www.nowcoder.com/practice/8d3643ec29654cf8908b5cf3a0479fd5

#include <iostream>
#include <stack>
using namespace std;

int main() 
{
    string s;
    cin >> s;
   // 利用栈
   stack<char> st;
   st.push(s[0]);
   for(int i = 1; i < s.size(); ++i)
   {
        if(!st.empty())
        {
            if(st.top() == s[i])
                st.pop();
            else
                st.push(s[i]);
        }
        else {
            st.push(s[i]);
        }
   } 
   if(st.empty())
        cout << "0";
    else{
        string ret;
        while(!st.empty())
        {
            ret.insert(ret.begin(), st.top());
            st.pop();
        }
        for(auto ch : ret)
            cout << ch;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

03-09 20:32
运营
牛客972656413号:成绩管理系统会不会有点太。。。
点赞 评论 收藏
分享
这就是上等人的社会吗:都先停一停,有没有hxd告诉我在哪里点京东外卖,捣鼓半天,注册成了专送骑手查看图片
投递美团等公司6个岗位 > 京东美团大战,你怎么看?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务