当前位置 博文首页 > 844_比较含退格的字符串_Snow_Jie的博客:leetcode

    844_比较含退格的字符串_Snow_Jie的博客:leetcode

    作者:[db:作者] 时间:2021-08-14 18:14

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

    示例 1:

    输入:S = "ab#c", T = "ad#c"
    输出:true
    解释:S 和 T 都会变成 “ac”。
    

    示例 2:

    输入:S = "ab##", T = "c#d#"
    输出:true
    解释:S 和 T 都会变成 “”。
    

    示例 3:

    输入:S = "a##c", T = "#a#c"
    输出:true
    解释:S 和 T 都会变成 “c”。
    

    示例 4:

    输入:S = "a#c", T = "b"
    输出:false
    解释:S 会变成 “c”,但 T 仍然是 “b”。
    

    提示:

    1. 1 <= S.length <= 200
    2. 1 <= T.length <= 200
    3. S?和?T?只含有小写字母以及字符?'#'
    class Solution {
    public:
        bool backspaceCompare(string S, string T) {
            vector<char> S1,S2;
            for(int i=0;i<S.size();i++)
            {
                if (S[i]!='#') 
                {
                    S1.push_back(S[i]);
                }
                else 
                { 
                    if(!S1.empty())
                    S1.pop_back();
                }
            }
            for(int i=0;i<T.size();i++)
            {
                if (T[i]!='#') 
                {
                    S2.push_back(T[i]);
                }
                else 
                { 
                    if(!S2.empty()) 
                    S2.pop_back();
                }
            }
            if (S1!=S2) return false;
            else return true;
        }
    };

    分别把两个字符串转换成没有“#”的,然后判断。

    cs