请问一下 

牛牛的括号匹配

这道题我只通过90%,我的想法是用一个变量i来记录当前遇到括号的情况,遇到'('则i++,遇到')'i--,每次都判断一下,当i < -2时,失败,因为出现三个以上的')'括号是无法交换成功的。最后遍历完之后,如果i==0则成功,不为0则失败。
    思路根源在于因为最后i会等于0,说明左右括号数量一样,那么最差会有'..)..)..(..(..'的情况(这里的'..'表示的是可能出现0个或多个括号),且出现第二个')'时i == -2,这时可以将最右边的'('和其交换,形成'..(..)..(..)..'的情况。
    请问这样的思路有什么问题吗?