Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayDeque;
- import java.util.HashMap;
- import java.util.Scanner;
- import java.util.Stack;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /*
- package stackandqueues;
- /**
- *
- * @author kalin
- */
- public class O7_StackAndQueues {
- public static void main(String[] args) {
- boolean isCorrectSequence = true;
- Scanner scan = new Scanner(System.in);
- String inputString = scan.nextLine();
- Pattern pattern = Pattern.compile("[\\[\\](){}]");
- Matcher matcher = pattern.matcher(inputString);
- ArrayDeque<Character> bracketCharacters = new ArrayDeque<>();
- HashMap<Character, Character> bracketsPair = new HashMap<>();
- bracketsPair.put(']', '[');
- bracketsPair.put('}', '{');
- bracketsPair.put(')', '(');
- while (matcher.find()) {
- if (matcher.group().equals("]") || matcher.group().equals(")") || matcher.group().equals("}")) {
- if (!bracketCharacters.isEmpty()) {
- if (!bracketCharacters.pop().equals(bracketsPair.get(matcher.group().charAt(0)))) {
- System.out.println("NO");
- isCorrectSequence = false;
- break;
- }
- } else {
- System.out.println("NO");
- isCorrectSequence = false;
- break;
- }
- } else {
- bracketCharacters.push(matcher.group().charAt(0));
- }
- }
- if (bracketCharacters.isEmpty() && isCorrectSequence) {
- System.out.println("YES");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment