自学内容网 自学内容网

力扣32.最长有效括号

力扣32.最长有效括号

  • 在这里插入图片描述

  •   class Solution {
      public:
          int longestValidParentheses(string s) {
              int n = s.size();
              int res=0;
              int start = -1;
              vector<int> st;
              for(int i=0;i<n;i++)
              {
                  if(s[i] == '(')
                      st.push_back(i);
                  else
                  {
                      //前面没有( , (开启下一段)下一段的开始更新为当前下标
                      if(st.empty())
                          start = i;
                      else
                      {
                          //有(先弹出
                          st.pop_back();
                          //如果前面在(了,说明上一次不匹配的)之后的所有括号全部匹配完
                          if(st.empty())
                              res = max(res,i - start);
                          //上一次不匹配的)之后还有(剩余 这一段现在只能取到(的下标
                          else
                              res = max(res,i - st.back());
                      }
                  }
              }
              return res;
          }
      };
    

原文地址:https://blog.csdn.net/Pisasama/article/details/140400060

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!