题解 | 括号配对问题

括号配对问题

https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7

using System.Text;
public class Program {
    public static void Main() {
        string line = System.Console.ReadLine();

        StringBuilder input = new StringBuilder();

        for (int i = 0; i < line.Length; i++) {
            if (line[i] == '[' || line[i] == ']' || line[i] == '(' || line[i] == ')') {
                input.Append(line[i]);

            }
        }

        bool res = true;

        StringBuilder zhan = new StringBuilder();
        for (int i = 0; i < input.Length; i++) {
            if (input[i] == '[' || input[i] == '(') {
                zhan.Append(input[i]);
            } else if (input[i] == ']') {
                if (zhan.Length == 0) {
                    res = false;
                    break;
                }
                if (zhan[zhan.Length - 1] != '[') {
                    res = false;
                    break;
                } else {
                    zhan.Remove(zhan.Length-1, 1);
                }

            } else if (input[i] == ')') {
                if (zhan.Length == 0) {
                    res = false;
                    break;
                }
                if (zhan[zhan.Length - 1] != '(') {
                    res = false;
                    break;
                } else {
                    zhan.Remove(zhan.Length-1, 1);
                }
            }
        }
        //System.Console.WriteLine(res);

        if(res){
            System.Console.WriteLine("true");
        }else{
            System.Console.WriteLine("false");
        }

    }
}

全部评论

相关推荐

zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务