Thursday, 17 October 2013

Sub String Program

Given two String, s1 and s2. 
to find the longest substring which is prefix of s1, as well as suffix of s2. 
Complexity O(n)


#include <stdio.h>
#include <string.h>

main()
{
  char str1[]="abcdeee";
  char str2[]="sssssabc";
  int i=0,j,k,l;
  int n=strlen(str2);
  if(strlen(str1)<strlen(str2)){
      n=strlen(str1);
  }
  k=0;
  l=0;
  for(i=0;i<n;i++){
      j=strlen(str2)-n+i;
      if(str1[l++]!=str2[j]){
        i=k;
        k++;
        l=0;
      }
    }
    printf("%s",str2+strlen(str2)-n+k);

}

No comments:

Post a Comment