1.描述:
翻转一个链表
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
2.思路:
首先,新建一个链表作为反转后的链表的储存空间,然后在原链表上从头节点开始用循环反转前后两节点,一直循环到链表最后。
3.代码:
ListNode *reverse(ListNode *head) {
ListNode *pre=NULL;
while(head!=NULL){
ListNode *temp=head->next;
head->next=pre;
pre=head;
head=temp;}
return pre;
}
4.感想:
刚开始写的时候没有新建链表,只是在原链表上用循环改变前后两节点的指针,导致提示错误总是时间超限,不改变一下思路真的过不了啊