# Brackets Problem(Determine whether a given string of parentheses is properly nested)

Problem:

A string S consisting of N characters is considered to be properly nested if any of the following conditions is true:
S is empty;
S has the form “(U)” or “[U]” or “{U}” where U is a properly nested string;
S has the form “VW” where V and W are properly nested strings.
For example, the string “{[()()]}” is properly nested but “([)()]” is not.
Write a function:
int solution(char *S);
that, given a string S consisting of N characters, returns 1 if S is properly nested and 0 otherwise.
For example, given S = “{[()()]}”, the function should return 1 and given S = “([)()]”, the function should return 0, as explained above.
Assume that:
N is an integer within the range [0..200,000];
string S consists only of the following characters: “(“, “{“, “[“, “]”, “}” and/or “)”.
Complexity:
expected worst-case time complexity is O(N);
expected worst-case space complexity is O(N) (not counting the storage required for input arguments).

Solution of the Problem:

```	private int characterSymmatry(String str){
Stack<Character> stack = new Stack<Character>();

for (int i = 0; i < str.length(); i++) {
char characters = str.charAt(i);
switch (characters) {
case '{':
stack.push(characters);
break;
case '[':
stack.push(characters);
break;

case '(':
stack.push(characters);
break;

case ')':
if(!stack.isEmpty()){
char c= stack.pop();
if(c!='('){
return 0;
}
}

break;
case ']':
if(!stack.isEmpty()){
char c2 = stack.pop();
if(c2!='['){
return 0;
}
}
break;
case '}':
if(!stack.isEmpty()){
char c3 = stack.pop();
if(c3!='{'){
return 0;
}
}
break;

default:
break;
}
}

if(stack.isEmpty()){
return 1;
}

return 0;
}

```
This entry was posted in Logical Problems and tagged on . Hi, this is Rahul working as Software Engineer at Orange Business Services. Responsible for Requirement analysis, design ,development, deployment, and testing. Working on Agile methodology and Scrum Experience on UML, OOAD, OOPS, Design patterns, Java / J2ee technologies, ORM, performance and load tests, code review and lot of SDLC activities.

## 2 thoughts on “Brackets Problem(Determine whether a given string of parentheses is properly nested)”

1. Linh

Do you have any video of that? I’d like to find out some additional information.

2. Alene