struct LinkNode {
TreeNode *node;
struct LinkNode *next;
};
void Traversal(TreeNode *root)
{
LinkNode *head;
LinkNode *rear;
if (root == NULL)
return;
rear = (LinkNode *)malloc(sizeof(LinkNode));
rear->next = NULL;
rear->node = root;
head = rear;
while(head != NULL)
{
if (head->node->child != NULL)
{
rear->next = (LinkNode *)malloc(sizeof(LinkNode));
rear = rear->next;
rear->node = head->node->child;
rear->next = NULL;
TreeNode *tmp = head->node->child->brother;
while(tmp != NULL)
{
rear->next = (LinkNode *)malloc(sizeof(LinkNode));
rear = rear->next;
rear->node = tmp;
rear->next = NULL;
tmp = tmp->brother;
}
}
printf("%d ", head->node->data);
tmp = head;
head = head->next;
free(head);
}
}
匿名用户 2015-06-24 18:11
宝宝知道提示您:回答为网友贡献,仅供参考。