其他分享
首页 > 其他分享> > LeetCode题目:比较含退格的字符串

LeetCode题目:比较含退格的字符串

作者:互联网

LeetCode题目:比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

#include<iostream>
#include<stack>
#include<vector>
using namespace std;
class Solution {
public:
	bool backspaceCompare(string S, string T) {
		const char ch = '#';
		stack<char> stk1, stk2;
		for (int i = 0; i < S.length(); i++)
		{
			if (S[i] != ch)
			{
				stk1.push(S[i]);
			}
			else{
				if (!stk1.empty())
					stk1.pop();
			}
		}
		for (int i = 0; i < T.length(); i++)
		{
			if (T[i] != ch)
			{
				stk2.push(T[i]);
			}
			else {
				if (!stk2.empty())
					stk2.pop();
			}
		}
		if (stk1.size() != stk2.size())
			return false;
		while(!stk1.empty())
		{
			if( stk1.top() != stk2.top())
				return false;
			stk1.pop();
			stk2.pop();
		}
		return true;
	}
};
int main()
{
	Solution solution;
	string S = "a#c", T = "b";
	bool ans = solution.backspaceCompare(S, T);
	cout << ans << endl;
	return 0;
}

标签:示例,pop,stk1,stk2,字符串,true,LeetCode,退格
来源: https://blog.csdn.net/Up_junior/article/details/94590642