0
点赞
收藏
分享

微信扫一扫

Eureka工作原理及代码实例

萧让听雪 2024-01-11 阅读 14

一、题目

1、题目描述

2、接口描述

class Solution {
public:
    int minLength(string s) {
        
    }
};

3、原题链接

2696. 删除子串后的字符串最小长度


二、解题报告

1、思路分析

当成括号匹配问题即可,一次遍历维护一个栈,和栈顶配对就记录

2、复杂度

3、代码详解

class Solution {
public:
    int minLength(string s) {
        stack<char> st;
        int ret = s.size();
        for(auto x : s)
        {
            if(st.size() && x == 'B' && st.top() == 'A')
                ret -= 2 , st.pop();
            else if(st.size() && x == 'D' && st.top() == 'C')
                ret -= 2 , st.pop();
            else
                st.push(x);
        }
        return ret;
    }
};
举报

相关推荐

0 条评论