力扣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;
      }
  };
相关推荐
DK2215125 分钟前
机器学习系列-----主成分分析(PCA)
人工智能·算法·机器学习
oliveira-time31 分钟前
爬虫学习8
开发语言·javascript·爬虫·python·算法
点云侠1 小时前
二维椭圆拟合算法及推导过程
开发语言·c++·算法·计算机视觉·matlab
一直学习永不止步1 小时前
LeetCode题练习与总结:迷你语法分析器--385
java·数据结构·算法·leetcode·字符串··深度优先搜索
Dragonlongbo1 小时前
leetcode01 --- 环形链表判定
算法·leetcode·职场和发展
-cc- Lynn1 小时前
链表类算法【leetcode】
算法·leetcode·链表
顾京2 小时前
基于扩散模型的表单插补
人工智能·深度学习·算法
小冉在学习2 小时前
day55 图论章节刷题Part07([53.寻宝]prim算法、kruskal算法)
java·算法·图论
学无止境\n2 小时前
[c语言]strcat函数的使用和模拟实现
c语言·开发语言·算法
五味香2 小时前
Linux命令学习,git命令
linux·c语言·开发语言·c++·git·学习·算法