题解 | 吐泡泡

吐泡泡

https://www.nowcoder.com/practice/f86fa2221c094b3d8d1fc79bae450d96

#include<bits/stdc++.h>
using namespace std;
void solve()
{ 
	string s; cin >> s;
	stack<char>sk;
	string ans;
	int len = s.length();
	for (int i = 0; i < len; i++)
	{
		if (sk.empty())
		{
			sk.push(s[i]);
		}

		
		else if (s[i] == 'o')
		{
			if (sk.top() == 'o')
			{
				sk.pop();
				if (!sk.empty() && sk.top() == 'O')
				{
					sk.pop();
				}
				else {
					sk.push('O');//不是小o,不是s[i]
				}
			}
			else {
				sk.push(s[i]);
			}
		}
		else {
			if (sk.top() == 'O')
			{
				sk.pop();
			}
			else {
				sk.push(s[i]);
			}
		}
	}
	while (sk.size())
	{
		char temp = sk.top();
		sk.pop();
		ans.push_back(temp);//在字符串里加元素的方法
	}
	for (int i = ans.length()-1; i >= 0; i--)//-1别忘了
	{
		cout << ans[i];
	}
	cout << "\n";
}

int main()
{
	int t; cin >> t;
	while (t--)
	{
		solve();
	}
	return 0;
}

#你喜欢工作还是上学##你找工作的时候用AI吗?##被AI治愈的瞬间##有必要和同事成为好朋友吗?##牛客新年AI问运#
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务