int Index(SString S,SString T) { int i=1,j=1; while(i<=S.length && j<=T.length) { if(S.ch[i] == T.ch[j]) { ++i; ++j; //继续比较后续字符 } else{ i=i-j+2; j=1; //指针后退重新开始匹配 } } if (j>T.length) return i-T.length; else return 0; } 每个子串对比m个字符 共n-m+1个子串 O((n-m+1)m)=O(mn) n>>m 冲刺课程: 下面做法有错: 课后题: