Saurav Kumar Dubey e5adce3a52
647.c
Palindromic substring using dynamic programming
2019-10-11 15:22:02 +05:30

24 lines
554 B
C

/* Author : Saurav Dubey */
int countSubstrings(char* s) {
int len = strlen(s);
int i;
int count = 0;
for( i=0; i<len; i++){
// cases handled for both odd and even lenghted Palindrome
count += countPalin(s, i, i, len);
if(i!=len-1)
count += countPalin(s, i, i+1, len);
}
return count;
}
int countPalin(char *s, int head, int tail, int len){
int ret = (s[head]==s[tail])? 1:0 ;
if( ret && head-1>=0 && tail+1<len)
ret += countPalin(s, head-1, tail+1, len);
return ret;
}