class Solution { public: bool backspaceCompare(string S, string T) { stack<char> ST1; for (int i = 0; i < S.length(); i++) { char c = S[i]; if (c == '#') { if (!ST1.empty()) { ST1.pop(); } } else { ST1.push(c); } } stack<char> ST2; for (int i = 0; i < T.length(); i++) { char c = T[i]; if (c == '#') { if (!ST2.empty()) { ST2.pop(); } } else { ST2.push(c); } } if (ST1.size() != ST2.size()) { return false; } else { for (int i = 0; i < ST1.size(); i++) { char s = ST1.top(); ST1.pop(); char t = ST2.top(); ST2.pop(); if (s != t) { return false; } } } return true; } };