32. 最长有效括号

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

 

上一篇:Linux anacron 命令


下一篇:初次尝试GPU Driver —— 大范围植被渲染之着色