大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
目录
- 方法1 .将箭头方向逆转
- 方法2.
点击查看题目
方法1 .将箭头方向逆转
思路:
n1,n2,n3分别指向NULL,head,head->next
用循环,每次都让n2->next指向n1,再让n1=n2,n2=n3,n3=n3->next
struct ListNode* reverseList(struct ListNode* head) {
if(head==NULL)
return NULL;
struct ListNode* n1=NULL;
struct ListNode* n2=head;
struct ListNode* n3=head->next;
while(n2)
{
n2->next=n1;
n1=n2;
n2=n3;
if(n3)
n3=n3->next;
}
return n1;
}
方法2.
思路
3个变量,cur=head,tail=NULL,next=cur->next
用循环,每次都让cur->next指向tail,再让tail=cur,cur=next
struct ListNode* reverseList(struct ListNode* head) {
struct ListNode* cur=head;
struct ListNode* tail=NULL;
while(cur)
{
struct ListNode* next=cur->next;
cur->next=tail;
tail=cur;
cur=next;
}
return tail;
}
好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️