Given a string s representing a mathematical expression containing non-negative integers and the operators +, -, *, and /, evaluate the expression and return its result.
Integer division must truncate toward zero. You may assume the expression is always valid, and all intermediate results fall within the 32-bit signed integer range.
Note: Using any built-in function that directly evaluates strings as mathematical expressions (e.g., eval()) is not allowed.
Constraints: