赞
踩
本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:
其中head
是用户传入的链表的头指针;函数reverse
将链表head
逆置,并返回结果链表的头指针。
- //这种用图来解释的方式对理解有用吗?如果没有下次就不弄了,说一下呗,谢谢!因为作图真的好麻烦啊!
- struct ListNode* reverse(struct ListNode* head)//2
- { //3
- struct ListNode* q = head, * t, * p = NULL;//4
- while (q) //5
- { //6
- t = q->next; //7
- q->next = p; //8
- p = q; //9
- q = t; //10
- } //11
- return p; //12
- } //13
- /*注:我的思路就是让这个链表的链接方向倒过来,比如:
- -> -> ->变成<- <- <-
- 这样从最右边开始输出变倒过来了至于具体方式我会用下面
- 的图来说明,希望有帮助,同时也希望得到你的建议*/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。