题目:
给定一个只包含三种字符的字符串:( ,) 和 * ,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:
- 任何左括号 ( 必须有相应的右括号 )
- 任何右括号 ) 必须有相应的左括号 (
- 左括号 ( 必须在对应的右括号之前 )
- 可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串
一个空字符串也被视为有效字符串
示例:
输入:()
输出:True
输入:((*)
输出:True
输入:((())
输出:False
解题思路:
如果只需要关注 左括号和右括号的个数是否匹配的话
我们只需遇到 ‘(’ 加一 ,遇到’)‘ 减一 ,最后比较其差值即可,如果相差的值小于*的个数,那么就可以补充足够的括号
class Solution(object)