作为一个理科生,怎么能不码代码呢???重点是我好久没学代码了,手生了,还好有小伙伴一起督促,感谢大当家!仅以此留念+总结。
/***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链接: