Hard
Given a string s representing a valid expression, implement a basic calculator to evaluate it and return the result. The expression contains non-negative integers, +, -, (, ), spaces, and unary minus.
Input: s = "1 + 1" Output: 2
Input: s = " 2-1 + 2 " Output: 3
Input: s = "(1+(4+5+2)-3)+(6+8)" Output: 23