定义dp[i]为以i结尾的合法括号子串的最大长度。
1、s[i] = ')' 且 s[i-1] = '(',表示字符串形如 ‘......()’,则可推出:dp[i] = dp[i-2] + 2
以进行这样的转移,是因为结束部分的 "()" 是一个有效子字符串,并且将之前有效子字符串的长度增加了 2
2、s[i] = ')' 且 s[i-1] = ')',表示字符串形如 ‘......))’,则可推出: 如果s[i - dp[i-1] - 1] = '(',则 dp[i] = dp[i-1] + dp[i-dp[i-1]-2] + 2