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;
    }
};

 

posted on 2018-09-30 22:33  Sempron2800+  阅读(112)  评论(0编辑  收藏  举报