title: Basic Recursion, Check Balanced Parenthesis
body: <p>I've written software in the past that uses a stack to check for balanced equations, but now I'm asked to write a similar algorithm recursively to check for properly nested brackets and parenthesis.</p>
  
  <blockquote>
    <p>Good examples: () [] ()
    ([]()[])</p>
    
    <p>Bad examples: ( (] ([)]</p>
  </blockquote>
  
  <p>Suppose my function is called: isBalanced.  </p>
  
  <p>Should each pass evaluate a smaller substring (until reaching a base case of 2 left)?  Or, should I always evaluate the full string and move indices inward?</p>