LeetCode【1021. 删除最外层的括号】

这道题可以通过栈的思想,S只有括号,我们可以思考怎么能判断括号是完整的括号,

可以再定义一个变量,进( 加1,进 )减1,判断为0,就是进入完整的括号,然后,

使用一个新的字符串,接收括号,substring中间的,去掉最外层的括号,这个也使用

一个字符串接收,注意,接收的字符串需要清空。

class Solution {
    public String removeOuterParentheses(String S) {
        int i;
        int f = 0;
        int a = 0;
        String s = "";
        String t = "";
        for(i = 0;i < S.length();i++)
        {
            if(S.charAt(i) == '(')
            {
                s = s + "(";
                f = f + 1;
                a++;
            }
            else
            {
                s = s + ")";
                f = f - 1;
                a++;
            }
            if(f == 0)
            {
                t = t + s.substring(1,a-1);
                s = "";
                a = 0;
            }
        }
        return t;
    }
}

猜你喜欢

转载自www.cnblogs.com/wzwi/p/10949208.html
今日推荐