题目:给出一个括号序列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.合理的理解题意;
网友评论