题目描述
发现拼写错误的捷径:
三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello
上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC
实现大锤的自动校对程序。
题解
1 | string correct(int n,string s) |
使用两个指针,快指针去遍历字符串,慢指针负责检查前面的位置是否出现错误的情况,如果有的话就后退一个位置。注意判断的时候要从j-1开始而不是j,因为s[j++]已经使j+1了。