把已匹配到的方括号换成花括号,最后再换回来:
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder r = new StringBuilder(sc.nextLine());
while(r.indexOf("]") != -1){
int j = r.indexOf("]");
r.setCharAt(j, '}');
int i = j - 1;
while(i >= 0 && r.charAt(i) != '[') i--;
if(i < 0) r.insert(0, '{');
else r.setCharAt(i, '{');
}
int c = 0;
for(int i = 0; i < r.length(); ++i){
if(r.charAt(i) == '[') c++;
}
for(int i = 0; i < r.length(); ++i){
if(r.charAt(i) == '{') r.setCharAt(i, '[');
if(r.charAt(i) == '}') r.setCharAt(i, ']');
}
while(c-- > 0) r.append("]");
System.out.println(r);
}
}
京公网安备 11010502036488号