力扣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;
      }
  };
相关推荐
yoke菜籽8 分钟前
面试150——区间
面试·职场和发展
立志成为大牛的小牛12 分钟前
数据结构——四十九、B树的删除与插入
数据结构·学习·程序人生·考研·算法
程序员三藏21 分钟前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
高洁0144 分钟前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动 (2)
深度学习·算法·aigc·transformer·知识图谱
l1t1 小时前
使用DuckDB SQL求解Advent of Code 2024第9题 磁盘碎片整理
数据库·sql·算法·duckdb·advent of code
小南家的青蛙1 小时前
LeetCode面试题 04.06 后继者
算法·leetcode·职场和发展
IT·小灰灰1 小时前
基于Python的机器学习/数据分析环境搭建完全指南
开发语言·人工智能·python·算法·机器学习·数据分析
wefg12 小时前
【C++】智能指针
开发语言·c++·算法
搂鱼1145142 小时前
一类判断包含颜色整体的题目
算法
Demon--hx2 小时前
[c++]string的三种遍历方式
开发语言·c++·算法