Stack is a data structure where data is accessed Solved

30.00 $

Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: . zip solution files instantly, after Payment


5/5 - (1 vote)

A stack is a data structure where data is accessed using the LIFO (last in first out) principle. In this problem, use a stack to check whether a string has balanced parentheses (, ) and brackets {, }, [, ], or not.

A string that has balanced parentheses and brackets will be said to be balanced. Any character that is not one of (, ), [, ], {, or } is not important when deciding if a string is balanced and can be ignored.

We will define balanced as follows. A string str is balanced

  • if str does not contain a parenthesis or bracket symbol, or
  • str consists of a balanced string surrounded by opening and closing parentheses or matching brackets. That is, str is (b), {b} or [b], where b is any balanced string, or
  • if str is the concatenation of any two balanced strings. That is, str is bc, where b and c are any balanced strings.

You will complete the provided Balanced class that has two static methods isBalanced(String) and numberOfBalancedStrings(String[]).

Your isBalanced method must use the java.util.Stack class (in a way that solves the problem) to receive any grades for this problem.


The following strings have balanced parentheses

  • (), ()()
  • cat, c(at), (hello)(kitty)
  • if( ((x-y) < 4) || (x > 12))
  • ()(((s)))()()()()(x()((y))(x))()(ccccc(w))ssss()

The following strings do not have balances parentheses

  • ), )(a), )a(

The following strings have balanced parentheses and brackets

  • a, [], {}, [()], []{}({}),
  • for(int i=0; i<12; i+=1){x[i]+=f(1);}

The following strings do not have balanced parentheses and brackets

  • (], {), [}, [}, (], ({)}h, [(]())
  • for(int i=0; i<12; i+=1){

Note: You will receive partial marks if you code only works for parentheses (and not brackets).