您的位置:首页 > 其它

无返回值单参数函数反转单链表

2011-03-29 10:50 337 查看
void reverse(Link* head)
{
if( !head || !head->next || !head->next->next ) return;
Link* t = head->next;
head->next = t->next;
reverse( head );
t->next->next = t;
t->next = NULL;
}
 

主要方法就是:

1、先把头结点的指向移动到链表的末尾

2、再把每个结点指向的下一个结点的next指针指向自己,然后把自己的next指针置空

 

原理是利用了函数调用栈的特性

保存了栈当时的状态

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null
相关文章推荐