题目描述
有一种校验码机制,用于数据传输中的数据完整性检查,规则如下:
在字符串中插入一些数字作为校验码,每个数字之后跟随对应个数的字符;
要求有校验码(校验码大于零并且无前导零),并且正确匹配、无歧义:如,"helloworld" 在插入校验码之后可以为 "5hello5world",即 5 + "hello" + 5 + "world";
但是,有些字符串在进行校验时会产生歧义,比如 "109something" 可以校验为 10 + "9something" 或者 1 + "0" + 9 + "something",故这类编码方式是有歧义的。
现给出一个字符串 encodedString,请判断这个字符串是否符合上述规则:
如果是,则返回去掉校验码后的字符串长度;
如果不是,则返回 -1。
用例
输入 | 9computer012 |
输出 | 10 |
说明 | 只可以解析为 9 + "computer0 |