I used a queue for storing the nodes of a tree.first the root is pushed in the queue.now till the queue is not empty it pops one node(say x) from the queue and push(x->left and x->right)into the queue only if they are not null.the elements popped out can make a linked list.
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
llist(struct node *root)
ReplyDelete{
struct node *r,*p;
struct node *head=NULL;
if(root==NULL)
return;
else{
push(queue,root);
while(queue is not empty)
{
r=pop(queue);
if(r->left!=NULL)
push(queue,r->left);
if(r->right!=NULL)
push(queue,r->right);
if(head==NULL)
{
head=r;
r->next=NULL;
p=r;
}
else{
p->next=r;
r->next=NULL;
p=r;
}
}
}
return;
}
@kamakshi can you explain your approach,because reading code is little bit time taking.:)
ReplyDeleteI used a queue for storing the nodes of a tree.first the root is pushed in the queue.now till the queue is not empty it pops one node(say x) from the queue and push(x->left and x->right)into the queue only if they are not null.the elements popped out can make a linked list.
ReplyDelete