反转链表
// 结点1->next结点2->next结点3
// | |
// pHead temp(保存pHead的后继结点)
//变为:
// 结点1next<-结点2->next结点3
// | | |
// preNode pHead temp
//
//需要4步: 第1步:保存pHead的后继结点;
// 第2步:将结点2的后继变为结点1;
// 第3步:preNode指针后移
// 第4步:pHead指针后移
//循环以上4步,至到pHead为空即可结束循环
struct ListNode* ReverseList(struct ListNode* pHead ) {
struct ListNode* preNode = NULL;
struct ListNode* temp = NULL;
while(pHead != NULL) //至到pHead为空即可结束循环
{
temp = pHead->next; //第1步
pHead->next = preNode; //第2步
preNode = pHead; //第3步
pHead = temp; //第4步
}
return preNode; //返回最开始链表的最后一个结点
}#牛客AI配图神器#
// | |
// pHead temp(保存pHead的后继结点)
//变为:
// 结点1next<-结点2->next结点3
// | | |
// preNode pHead temp
//
//需要4步: 第1步:保存pHead的后继结点;
// 第2步:将结点2的后继变为结点1;
// 第3步:preNode指针后移
// 第4步:pHead指针后移
//循环以上4步,至到pHead为空即可结束循环
struct ListNode* ReverseList(struct ListNode* pHead ) {
struct ListNode* preNode = NULL;
struct ListNode* temp = NULL;
while(pHead != NULL) //至到pHead为空即可结束循环
{
temp = pHead->next; //第1步
pHead->next = preNode; //第2步
preNode = pHead; //第3步
pHead = temp; //第4步
}
return preNode; //返回最开始链表的最后一个结点
}#牛客AI配图神器#
全部评论
相关推荐
野猪不是猪🐗:?直接在站内搬我的面经


点赞 评论 收藏
分享
点赞 评论 收藏
分享