力扣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;
      }
  };
相关推荐
lightqjx1 分钟前
【算法】双指针
c++·算法·leetcode·双指针
历程里程碑4 分钟前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法
mit6.8246 分钟前
get+二分|数位dp
算法
sin_hielo10 分钟前
leetcode 2147
数据结构·算法·leetcode
萌>__<新23 分钟前
力扣打卡每日一题——缺失的第一个正数
数据结构·算法·leetcode
DuHz27 分钟前
车对车对向交汇场景的毫米波路径损耗建模论文精读
论文阅读·算法·汽车·信息与通信·信号处理
lxh011339 分钟前
二叉树中的最大路径和
前端·算法·js
萌>__<新40 分钟前
力扣打卡每日一题————零钱兑换
算法·leetcode·职场和发展
重生之后端学习41 分钟前
238. 除自身以外数组的乘积
java·数据结构·算法·leetcode·职场和发展·哈希算法
yaoxin5211231 小时前
269. Java Stream API - Map-Filter-Reduce算法模型
java·python·算法