力扣1021.删除最外层的括号

力扣1021.删除最外层的括号

  • 遍历所有字符

    • 当)时 栈顶元素出栈
    • 当(时 入栈
    • 当栈为空时 说明恰好扫描了一个原语
    • 这个原语的首尾字符不应该放入答案
    • 因此调整if判断顺序使首尾不放进去即可
cpp 复制代码
  class Solution {
  public:
      string removeOuterParentheses(string s) {
          vector<char> st;
          string res;
          for(char c:s)
          {
              if(c == ')')
                  st.pop_back();
              //只要当前的字符不是首尾 就可以放
              if(!st.empty())
                  res.push_back(c);
              if(c == '(')
                  st.push_back(c);
          }
          return res;
      }
  };
相关推荐
2301_8213696125 分钟前
嵌入式实时C++编程
开发语言·c++·算法
sjjhd65227 分钟前
多核并行计算优化
开发语言·c++·算法
weixin_3954489142 分钟前
main.c_cursor_0130
前端·网络·算法
半壶清水1 小时前
[软考网规考点笔记]-操作系统核心知识及历年真题解析
网络·网络协议·算法
Tansmjs2 小时前
实时数据可视化库
开发语言·c++·算法
WBluuue2 小时前
Codeforces 1075 Div2(ABC1C2D1D2)
c++·算法
圣保罗的大教堂2 小时前
leetcode 3650. 边反转的最小路径总成本 中等
leetcode
2401_838472512 小时前
C++模拟器开发实践
开发语言·c++·算法
s1hiyu2 小时前
实时控制系统验证
开发语言·c++·算法
daad7772 小时前
V4L2_mipi-csi
算法