/*
记录括号的层数,大于等于1说明后续的字符都可以输出,遇到右括号时层数减1
本题的意思就是自己的外面只要有一层括号,自己就可以输出
*/
using namespace std;
class Solution {
public:
string removeOuterParentheses(string s) {
if(s=="()"||s=="")return "";
int cnt = 0;//统计括号层数,大于等于1则说明里面的括号都可以输出
string str= "";
for(char ch:s) {//字符串一开始肯定是左括号
if(ch==')')cnt--;
if(cnt>=1)str+=ch;
if(ch=='(')cnt++;
}
return str;
}
};
LeetCode 1021. 删除最外层的括号 题解 C/C++
最新推荐文章于 2022-05-28 23:19:02 发布