力扣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;
      }
  };
相关推荐
罗西的思考37 分钟前
[2W字长文] 探秘Transformer系列之(23)--- 长度外推
人工智能·算法
算AI19 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh21 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之1 天前
选择排序笔记
java·算法·排序算法
Naive_71 天前
蓝桥杯准备(前缀和差分)
java·职场和发展·蓝桥杯
烂蜻蜓1 天前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf1 天前
图论----拓扑排序
算法·图论
我要昵称干什么1 天前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ1 天前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl1 天前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法