美文网首页
完成括号匹配-(百度2018)

完成括号匹配-(百度2018)

作者: 天使的流浪 | 来源:发表于2019-01-08 09:22 被阅读0次

    题目:给出一个括号序列S,在S的开始和结尾处添加一定数量的左括号'['或右括号']',使其成为完整的括号匹配序列;
    输入:][
    输出:[][]
    实现:
    ①如果缺乏左括号,直接添加对应的左括号;
    ② 在结束后,加入缺少的右括号;
    代码实现:

    package com.bj.baidu;
    
    import java.util.Scanner;
    
    /**
     * 完成括号匹配
     *
     */
    public class Test2 {
        @SuppressWarnings("resource")
        public static void main(String[] args) {
            String str = new Scanner(System.in).nextLine();
            // 存储缺少的'['
            StringBuffer left = new StringBuffer();
            //存储缺少的']'
            StringBuffer right = new StringBuffer();
            int count = 0;
            for (int i = 0; i < str.length(); i++) {
                if(str.charAt(i)=='['){
                    count++;
                }else{
                    count--;
                }
                if (count<0) {
                    count++;
                    left.append('[');
                }
            }
            for (int i = 0; i < count; i++) {
                right.append(']');
            }
            // 最终的结果连接
            System.out.println(left.toString()+str+right.toString());
        }
    }
    

    知识点:
    1.StringBuffer 的使用;
    2.合理的理解题意;

    相关文章

      网友评论

          本文标题:完成括号匹配-(百度2018)

          本文链接:https://www.haomeiwen.com/subject/iujurqtx.html