### LeetCode Challenge #20. Valid Parentheses

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

An input string is valid if:

1. Open brackets must be closed by the same type of brackets.
2. Open brackets must be closed in the correct order.
3. Every close bracket has a corresponding open bracket of the same type.

Example 1:

```Input: s = "()"
Output: true
```

Example 2:

```Input: s = "()[]{}"
Output: true
```

Example 3:

```Input: s = "(]"
Output: false
```

Constraints:

• `1 <= s.length <= 104`
• `s` consists of parentheses only `'()[]{}'`.
##### Video Solution
###### Java Solution
```				```
class Solution {
public boolean isValid(String s) {
Stack<Character> st = new Stack<>();

for(int i=0;i<s.length();i++){
char ch = s.charAt(i);

if(ch=='(' || ch=='{' || ch=='['){
st.push(ch);
}else if ( st.size()>0 && ch==']' && st.peek()=='['){
st.pop();
}else if (st.size()>0 && ch==')' && st.peek()=='('){
st.pop();
}else if (st.size()>0 && ch=='}' && st.peek()=='{'){
st.pop();
}else{
return false ;
}
}

if(st.size()==0){
return true ;
}else{
return false ;
}
}
}
```
```