潍坊市论坛

注册

 

发新话题 回复该主题

芝麻数据结构练习题反转链表 [复制链接]

1#
嘿,你喜欢小芝麻吗?听说攒的多了,就能芝麻开门了哦

作为一个理科生,怎么能不码代码呢???重点是我好久没学代码了,手生了,还好有小伙伴一起督促,感谢大当家!仅以此留念+总结。

/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*reverseList(structListNode*head){structListNode*p,*q;//q辅助遍历p=head-next;head-next=NULL;while(p!=NULL){q=p;//记录下一结点p=p-next;//p顺序遍历q-next=head-next;head-next=p;}returnp;}

执行结果如下:

用手跑了一下发现中间有个地方是断的55

structListNode*reverseList(structListNode*head){structListNode*pre=NULL,*nex;//pre表示新表的首结点,初始化为NULL,使新表尾端指向空,nex记录顺序遍历的下一结点while(head){nex=head-next;//记录下一结点head-next=pre;//当前遍历的结点连接prepre=head;//pre指向当前结点,当前结点成为新表的首结点head=nex;//指向当前结点下一结点,所以nex的作用在于辅助遍历,防止断链}returnpre;//返回新表首结点}作者:wpy链接:

分享 转发
TOP
发新话题 回复该主题