在做leetcode 30题时,开始提交有一个测试用例过不去:
输入:s = "mississippi", words = ["mississippis"].
提示我执行出错,一开始百思不得其解,后来我发现是下面的问题,贴在这里的最后一行出现的问题。
//int slen = s.size();
for(int i = 0; i < len; i++){
left = i;
count = 0;
umap2.clear();
for(int j = i; j <= s.size() - len; j += len){
后来我改成了下面的代码,就是把s.size()提前算出来赋给变量slen,再提交就正确了。
int slen = s.size();
for(int i = 0; i < len; i++){
left = i;
count = 0;
umap2.clear();
for(int j = i; j <= slen - len; j += len){
对于这个坑我表示一脸懵逼,因为压根程序里就没有对s进行改动,不知二者有什么区别。记录一下吧,以后得把这种size提前表示出来。。。