括号问题

标签: 括号问题 蓝桥杯真题
3人阅读 评论(0) 收藏 举报

下面的代码用于判断一个串中的括号是否匹配所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉
例如:
..(..[..]..).. 是允许的
..(…[…)….]…. 是禁止的
对于 main 方法中的测试用例,应该输出:
false
true
false
false
请分析代码逻辑,并推测划线处的代码。
答案写在“解答.txt”文件中
注意:只写划线处应该填的内容,划线前后的内容不要抄写。

核心代码:

import java.util.*;
publicclassDemo06 {
    publicstaticboolean isGoodBracket(String s) {
        Stack<Character> a = new Stack<Character>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '(')
                a.push(')');
            if (c == '[')
                a.push(']');
            if (c == '{')
                a.push('}');
            if (c == ')' || c == ']' || c == '}') {
                if (a.size()==0)
                    returnfalse; // 填空
                if (a.pop() != c)
                    returnfalse;
            }
        }
        if (a.size()!=0)
            returnfalse; // 填空
        returntrue;
    }
    publicstaticvoid main(String[] args) {
        System.out.println(isGoodBracket("...(..[.)..].{.(..).}..."));
        System.out.println(isGoodBracket("...(..[...].(.).).{.(..).}..."));
        System.out.println(isGoodBracket(".....[...].(.).){.(..).}..."));
        System.out.println(isGoodBracket("...(..[...].(.).){.(..)...."));
    }
}

运行结果:
false
true
false
false

查看评论

4.8.一些杂散但值得讨论的问题

本课程零散讲了一些C语言中值得讨论的知识点。譬如main函数的传参和返回值、void类型、NULL宏定义、debug调试宏等。目的是进一步提升大家对C语言的理解深度,提升大家的实战编程能力。
  • 2015年10月22日 10:32

nyoj括号配对问题

括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0输出每组...
  • qq_28175337
  • qq_28175337
  • 2015-07-27 10:01:04
  • 670

ACM 括号配对问题

  • 2014年05月16日 16:44
  • 1KB
  • 下载

ACM—括号配对问题

描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0import java.util.Scanner; import java.util.Stack; publi...
  • qq_17769897
  • qq_17769897
  • 2016-12-29 17:23:08
  • 284

括号嵌套问题(非括号匹配)

  • 2010年04月13日 23:28
  • 597B
  • 下载

[NYOJ] 02括号配对问题(c语言链栈实现)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难...
  • the_victory
  • the_victory
  • 2016-10-04 15:15:53
  • 1246

括号配对问题 (南阳理工oj-题目2)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:...
  • jiyi_xiaoli
  • jiyi_xiaoli
  • 2017-06-01 19:19:46
  • 516

[ACM]括号配对问题

Description 现在有一种只包括左右小括号(“(”和“)”)和空格(” “)的字符串序列,请你判断括号是否匹配,如果匹配就输出Yes,不匹配输出No。 Input 输入数据第...
  • sr19930829
  • sr19930829
  • 2013-06-17 22:04:46
  • 3962

2016蓝桥杯假期任务之《括号问题》

 下面的代码用于判断一个串中的括号是否匹配 所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉 例如: ..(..[..]..)..  是允许的 ..(...[...).....
  • Liuchang54
  • Liuchang54
  • 2016-01-28 15:50:13
  • 891

卡特兰数——括号匹配问题

卡特兰数的递推公式是F(n)=∑(k=1…n){F(k-1)*F(n-k)}=∑(k=0…n-1){F(k)*F(n-k-1)} 一般性公式为F(n)=C(2n,n)/(n+1) 可以描述的问...
  • zz_ylolita
  • zz_ylolita
  • 2016-04-05 23:59:01
  • 1014
    个人资料
    专栏达人
    等级:
    访问量: 329
    积分: 467
    排名: 10万+
    博客专栏
    文章存档
    最新评论