括号问题 下面的代码用于判断一个串中的括号是否匹配 所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉
2013-04-14 15:28
831 查看
/*括号问题 下面的代码用于判断一个串中的括号是否匹配 所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉 例如: ..(..[..]..).. 是允许的 ..(...[...)....].... 是禁止的 对于 main 方法中的测试用例,应该输出: false true false false 请分析代码逻辑,并推测划线处的代码。 答案写在 “解答.txt” 文件中 注意:只写划线处应该填的内容,划线前后的内容不要抄写。 */ import java.util.*; public class Demo06 { public static boolean 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) return false; // 填空 if (a.pop() != c) return false; } } if (a.size()!=0) return false; // 填空 return true; } public static void main(String[] args) { System.out.println(isGoodBracket("...(..[.)..].{.(..).}...")); System.out.println(isGoodBracket("...(..[...].(.).).{.(..).}...")); System.out.println(isGoodBracket(".....[...].(.).){.(..).}...")); System.out.println(isGoodBracket("...(..[...].(.).){.(..)....")); } }运行结果:
false true false false
相关文章推荐
- java实现的判断括号是否成对的代码,()[]{}都可以
- 第5周时间项目3 判断输入的左右括号是否匹配
- fcitx 关于多语言,不同编码的一点说明;同时也可以用于解决fcitx不能输入问题
- 判断表达式左右括号是否匹配(栈)
- 如何判断一个表达式中的左右括号是否匹配
- 判断两个div的位置是否相交,可以判断相互包含的特殊情况
- 给定一个由括号([{)]}其中之一或多个组成的字符串判断是否符合左右括号成对标准,不同括号可任意嵌套
- 【蓝桥杯】判断一个串中的括号是否匹配
- 模式匹配(pattern matching)问题:判断一个长为n的字符串X中是否包含常为m的字串Y(m<=n)
- 判断代码中的括号是否匹配
- Spring AOP编程问题:下面代码哪里错了?可以考验对Spring AOP的实现机制是否了解的
- 从以下的问题可以看出:真正写代码的人往往跳入代码中自娱自乐而不自知,却忘记了思考问题的本质,这可能就是优秀程序员与所谓的专业程序员最大的不同
- 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中
- 栈的基本操作及如何判断一个表达式中的左右括号是否匹配
- 判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进
- 从标准输入获取C语言代码并判断花括号是否匹配
- 请判断一个串中的括号是否匹配 注意下列不匹配的情况: 左括号太多 右括号太多 右括号先于左括号出现 ..)...(... 挎臂情况 ....[...(....]....)....
- 两台不同网段的PC直连是否可以相互ping通
- 判断两矩形是否交叉(包括包含的情况)
- IE8 font-awesome问题,不能重绘,在dom加载完后执行一下下面的代码图标就出来了