这样写能逆转链表吗?

zzxap 2011-06-13 09:59:10
#include <iostream,h>
#include <string.h>

struct Node
{
int num ;
Node *next ;
};


Node *ReverseList(Node *head) //链表逆序(循环方法)
{
Node *p,*q,*r;
p=head; //一开始p指向第一个节点
q=p->next; //q指向第二个节点
while (q!=NULL) //如果没到链尾
{ //以第一次循环为例
r=q->next; //r暂时存储第三个节点
q->next=p; //没执行此句前,q->next指向第三个节点
//执行之后,q->next指向第一个节点p
p=q; //之后p指向第二个节点
q=r; //q指向第三个节点
//即...p=>q=>r...变为 ...p<=q<=r...
}
head->next=NULL; //最后原来的链头变为链尾,把它指向NULL。
head=p; //原来的链尾变成链头
return head;
}
c++转型中,阵痛。。。
某面试官说 head->next=NULL; 是把第二个节点变为空而不是最后一个指向null
我就这样挂了。
求真相
...全文
45 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsifu2009 2011-06-15
  • 打赏
  • 举报
回复
应该没问题。。。
blackneck 2011-06-15
  • 打赏
  • 举报
回复
关注下
zzxap 2011-06-15
  • 打赏
  • 举报
回复
是吗?
quwei197874 2011-06-13
  • 打赏
  • 举报
回复
那个面试官是个sb呗
ryfdizuo 2011-06-13
  • 打赏
  • 举报
回复
看lz的水平,链表问题调试一下啊,

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧