我觉得,isValid()中erase之后应该立即break,不能再cnt++,多计数了一次。