力扣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;
      }
  };
相关推荐
踩坑记录2 分钟前
leetcode hot100 21.合并两个有序链表 链表 easy
leetcode
啊阿狸不会拉杆4 分钟前
《数字信号处理 》第 7 章-无限长单位冲激响应 (IIR) 数字滤波器设计方法
数据结构·算法·信号处理·数字信号处理·dsp
IT_Octopus8 分钟前
力扣热题100 20. 有效的括号
算法·leetcode
木井巳9 分钟前
【递归算法】求根节点到叶节点数字之和
java·算法·leetcode·深度优先
想进个大厂13 分钟前
代码随想录day29 贪心03
算法·leetcode·职场和发展
踩坑记录39 分钟前
leetcode hot100 环形链表 easy 快慢指针
leetcode·链表
We་ct39 分钟前
LeetCode 15. 三数之和:排序+双指针解法全解析
前端·算法·leetcode·typescript
挽天java43 分钟前
数据结构习题--寻找旋转排序数组中的最小值
数据结构·算法·排序算法
你怎么知道我是队长1 小时前
C语言---排序算法4---希尔排序法
c语言·算法·排序算法
iAkuya1 小时前
(leetcode)力扣100 54实现Trie树
算法·leetcode·c#