Microsoft Interview Question

Check if a string which represents a math exercise is balanced in terms of parentheses Remove spaces from a string

Interview Answers

Anonymous

Jul 18, 2020

public class CheckParenthesesBalanced { public static void main(String[] args) { String s = "n({})ir"; System.out.println(isBalanced(s)); } private static boolean isBalanced(String str) { Stack stack = new Stack(); final Set openParentheses = Set.of('(', '{', '['); final Set closedParentheses = Set.of(')', '}', ']'); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (openParentheses.contains(c)) { stack.push(c); } else if (closedParentheses.contains(c)) { Character popped = stack.pop(); if (popped != getComplementBracket(c)) { return false; } } } return true; } private static char getComplementBracket(char c) { switch (c) { case ')': return '('; case '}': return '{'; case ']': return '['; default: throw new IllegalArgumentException("no bracket for char "+c); } } }

1

Anonymous

Apr 29, 2020

static void Main(string[] args) { bool error = false; var str = "( a[i]+{-1}*(8-9) )"; Stack stack = new Stack(); foreach (var item in str.ToCharArray()) { if (item == '(' || item == '{' || item == '[') { stack.Push(item); } else if(item == ')' || item == '}' || item == ']') { if (stack.Peek() != GetComplementBracket(item)) { error = true; break; } } } if (error) Console.WriteLine("Incorrect brackets"); else Console.WriteLine("Brackets are fine"); Console.ReadLine(); } private static char GetComplementBracket(char item) { switch (item) { case ')': return '('; case '}': return '{'; case ']': return '['; default: return ' '; } }

Anonymous

Apr 29, 2020

Regex.Replace(str, @"\s+", "")