findSubstring
Longest Valid Parentheses: O(n)