import java.util.*;
import java.lang.*;
class Main
{
{
char [] openParenthesis = {'(','{','['};
char [] closeParenthesis = {')','}',']'};
String testString
= "{}()[] "; ArrayList<Character> characterList = new ArrayList<Character>();
for(char c : testString.toCharArray())
characterList.add(c);
for(int i = 0; i < characterList.size()-1; i++) {
System.
out.
println("1st Loop: " + characterList.
get(i
)); System.
out.
println("1st Loop: " + characterList.
get(i
+ 1)); System.
out.
println("1st Loop: " + i
);
for(int j = 0; j < openParenthesis.length; j++) {
if (characterList.get(i) == openParenthesis[j]) {
if(characterList.get(i + 1) == closeParenthesis[j]) {
System.
out.
println("********* Nested Match"); System.
out.
println(characterList.
get(i
)); System.
out.
println(characterList.
get(i
+ 1)); characterList.remove(i + 1);
characterList.remove(i);
i = -1;
break;
}
}
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCSAgICAJCWNoYXIgW10gb3BlblBhcmVudGhlc2lzID0geycoJywneycsJ1snfTsKCQkJY2hhciBbXSBjbG9zZVBhcmVudGhlc2lzID0geycpJywnfScsJ10nfTsKCQkJU3RyaW5nIHRlc3RTdHJpbmcgPSAie30oKVtdICI7CgkJCUFycmF5TGlzdDxDaGFyYWN0ZXI+IGNoYXJhY3Rlckxpc3QgPSBuZXcgQXJyYXlMaXN0PENoYXJhY3Rlcj4oKTsKCQkJZm9yKGNoYXIgYyA6IHRlc3RTdHJpbmcudG9DaGFyQXJyYXkoKSkKCQkJCWNoYXJhY3Rlckxpc3QuYWRkKGMpOwoKCQkJZm9yKGludCBpID0gMDsgaSA8IGNoYXJhY3Rlckxpc3Quc2l6ZSgpLTE7IGkrKykgewoJCQkJU3lzdGVtLm91dC5wcmludGxuKCIxc3QgTG9vcDogIiArIGNoYXJhY3Rlckxpc3QuZ2V0KGkpKTsKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiMXN0IExvb3A6ICIgKyBjaGFyYWN0ZXJMaXN0LmdldChpICsgMSkpOwoJCQkJU3lzdGVtLm91dC5wcmludGxuKCIxc3QgTG9vcDogIiArIGkpOwoKCQkJCWZvcihpbnQgaiA9IDA7IGogPCBvcGVuUGFyZW50aGVzaXMubGVuZ3RoOyBqKyspIHsKCQkJCQlpZiAoY2hhcmFjdGVyTGlzdC5nZXQoaSkgPT0gb3BlblBhcmVudGhlc2lzW2pdKSB7CgoJCQkJCQlpZihjaGFyYWN0ZXJMaXN0LmdldChpICsgMSkgPT0gY2xvc2VQYXJlbnRoZXNpc1tqXSkgewoJCQkJCQkJU3lzdGVtLm91dC5wcmludGxuKCIqKioqKioqKiogTmVzdGVkIE1hdGNoIik7CgkJCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oY2hhcmFjdGVyTGlzdC5nZXQoaSkpOwoJCQkJCQkJU3lzdGVtLm91dC5wcmludGxuKGNoYXJhY3Rlckxpc3QuZ2V0KGkgKyAxKSk7CgkJCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKCQkJCQkJCWNoYXJhY3Rlckxpc3QucmVtb3ZlKGkgKyAxKTsKCQkJCQkJCWNoYXJhY3Rlckxpc3QucmVtb3ZlKGkpOwoJCQkJCQkJaSA9IC0xOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9ICAgCgkJCQl9CgkJCX0KCgl9Cn0=