char * longestDupSubstring(char * S){
int i=0,j=0,k=0,len=strlen(S);
int max_new=0,max=0,max_l,max_r;
for(;i<len-max-1;i++){
for(j=len-1;j>i;j--){
max_new=0;
for(k=0;j+k<len&&S[i+k]==S[j+k];k++){
max_new++;
}
if(max_new>max){
max=max_new;
max_l=i;
max_r=j;
}
}
}
char *res = (char*)malloc(max+1);
*(res+max)='\0';
strncpy(res,S+max_l,max);
return res;
}
时间超出限制,没通过