• java实现括号的匹配


    括号的匹配

    下面的代码用于判断一个串中的括号是否匹配
    所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉

    例如:
    …(…[…]…)… 是允许的
    …(…[…)…]… 是禁止的
    对于 main 方法中的测试用例,应该输出:
    false
    true
    false
    false

    import java.util.*;
    public class A22
    {
        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(____________________) return false;    // 填空
                    if(a.pop() != c) return false;
                }
            }
            
            if(___________________) 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("...(..[...].(.).){.(..)...."));
        }
    }
    
    
    请分析代码逻辑,并推测划线处的代码。
    
    答案写在 “解答.txt” 文件中
    
    注意:只写划线处应该填的内容,划线前后的内容不要抄写。
    a.empty()
    !a.empty()
    
  • 相关阅读:
    网站推荐:11个相似图片搜索网站(以图找图)
    逻辑回归
    关于估计、偏差以及方差
    算法面试问题集锦
    sql语句执行顺序
    五大算法之动态规划
    五大算法之回溯算法
    操作系统问题总结之处理机调度
    操作系统问题总结之进程管理
    Element-UI 去掉表格边框(表格Hover事件移除)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077008.html
Copyright © 2020-2023  润新知