Given a string s containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, determine if the input string is valid.

An input string is Balanced if:

Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order.

#### Input:

The first line contains a single integer n(Length of the string) The second line contains string s

#### Output:

Print YES is brackets are balanced otherwise print NO

#### Constraints:

1 <= s.length <= 104 s consists of parentheses only '()[]{}'.

##### Sample Input 1

2 ()

##### Sample Output 1

YES

##### Sample Input 2

2 (]

##### Sample Output 2

NO

## Solution of Balanced Brackets in java:–

import java.util.*; import java.io.*; public class Main { static String s; static Stack<Character> stack = new Stack<>(); public static boolean check(int i){ if(stack.empty()) return true; if(stack.peek() == '(' && s.charAt(i) == ')') return false; if(stack.peek() == '[' && s.charAt(i) == ']') return false; if(stack.peek() == '{' && s.charAt(i) == '}') return false; return true; } public static void main(String args[]) { Scanner input = new Scanner(System.in); int n = input.nextInt(); s = input.next(); for(int i = 0; i < n; i++){ if(check(i)){ stack.push(s.charAt(i)); }else{ stack.pop(); } } if(stack.empty()){ System.out.println("YES"); }else{ System.out.println("NO"); } } }

## Add a Comment