You are viewing a single comment's thread. Return to all comments →
public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String input=sc.next(); boolean valid = input.length() % 2 == 0; Stack<Character> charStack = new Stack<>(); for(int i=0; valid && i<input.length();i++) { Character c = input.charAt(i); if(List.of('[', '{', '(').contains(c)) { charStack.push(c); } else { if(charStack.isEmpty()) { valid = false; break; } Character p = charStack.pop(); if((c == '}' && p != '{') || (c == ']' && p != '[') || (c == ')' && p != '(')) { valid = false; break; } } } if(!charStack.isEmpty()) valid = false; System.out.println(valid ? true : false); }
}
Seems like cookies are disabled on this browser, please enable them to open this website
Java Stack
You are viewing a single comment's thread. Return to all comments →
}