32. 最长有效括号

自己使用堆栈没有成功,主要原因是很久没有敲代码,再加上没有演算整个过程,凭空想象,非常的不好

贴自己没成功的代码吧

class Solution {
public:
    int longestValidParentheses(string s) {
        stack<string>temp;
        int number=0;
        int number_temp=0;
        int length = s.size();
        if(length == 0){
            return 0;
        }
        stack<int>temp_1;
        for(int i=0;i<length;i++)
        {
            string t = s.substr(i,1);
            if(t=="("){
                temp.push(t);
                temp.push(i);
            }
            else{
                if (temp.empty()){
                    number_temp=0;
                    continue;
                }
                else if(temp.top()=="("){
                    number_temp++;
                    temp.pop();
                    temp_1.pop();
                    cout<<number_temp;
                }
                else{
                    number=max(number_temp,number);
                    number_temp=0;
                }
            }
        }
        number=max(number_temp,number);
        while(!temp_1.empty()){
            int t = temp_1.top();
            
        }
        return number*2;
    }
};

 

posted @   jozon  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示