/* 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;
}