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

点击消除

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")

全部评论

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务