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

2019-01-08  本文已影响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.合理的理解题意;

上一篇 下一篇

猜你喜欢

热点阅读