This is all hypothetical,
I have a struct as so:
struct node
{
int data;
node* next;
};
and a circular linked list with only a head pointer, how would I set up a base case for a recursive function that counts the nodes of the circular list? I don't even know where to begin because everything I brainstorm, I quickly realize wouldn't work, because the last node in the list points right back to head instead of NULL.
Example function:
int count(node *head)
{
int listCount = 0;
if(base case)
{
then return 0;
}
else
{
calculate listCount
count(head->next);
}
return listCount
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…