一、假设链表为 1→2→3→∅1→2→3→∅,我们想要把它改成 ∅←1←2←3∅←1←2←3。
1、迭代法
在遍历链表的时候将指向反转,例如让1的next指向NULL,让2的next指向1,这样就实现字符串的反转。
定义 *p=NULL; *q=head,我们在定义一个临时的结构体指针*temp用来储存q的后序,因为当q指向前一个节点,如果不储存就会找不到后面的节点。
struct ListNode* reverseList(struct ListNode* head){
struct ListNode* p=NULL;
struct ListNode*q=head;
while(q){
struct ListNode* temp=q->next;
q->next=p;
p=q;
q=temp;
}
return p;
}