Given two linked list. We have to find that whether the data in one is reverse that of data in other. No extra space is to be used and traverse the lists only once
In this solution stack space is used. however this function returns 1 even if list2 is NULL. so either check for its length before passing to compare function.
Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
int compare (struct node *list1, struct node *list2)
ReplyDelete{
if (list2 == NULL)
return 1;
if (list1 == NULL)
return 0;
if (compare (list1, list2->next))
{
if ((list1)->data == list2->data)
{
(list1) = (list1)->next;
return 1;
}
else return 0;
}
else
return 0;
}
In this solution stack space is used.
ReplyDeletehowever this function returns 1 even if list2 is NULL.
so either check for its length before passing to compare function.