当前位置: 首页> 文旅> 美景 > OJ题-反转链表

OJ题-反转链表

时间:2025/7/12 14:26:30来源:https://blog.csdn.net/2301_81167291/article/details/142306924 浏览次数:0次

给你一个单链表的头节点,请反转链表,并返回新的链表

eg:

1,2,3,4,5--->5,4,3,2,1

//反转链表
struct ListNode* reverseList(struct ListNode* head)
{//定义三个变量struct ListNode* n1, * n2, * n3;n1 = NULL;n2 = head;n3 = head->next;//当n2不为空时,循环继续while (n2){//反转n2->next = n1;n1 = n2;n2 = n3;//要考虑最后n3为空指针,越界的问题if (n3){n3 = n3->next;}}//返回新的链表return n1;
}

struct ListNode* reverseList(struct ListNode* head)
{struct ListNode* newnode = NULL;//创建一个新的链表struct ListNode* cur = head;//便于迭代操作while (cur){//要先用next保存cur的下一个节点,否则将cur取下来头插后会被置成随机值,导致找不到cur的下一个节点struct ListNode* next = cur->next;//进行头插入cur->next = newnode;newnode = cur;//迭代往后走cur = next;}//返回新的链表return newnode;
}

关键字:OJ题-反转链表

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: