[剑指offer]JT15---反转链表(不积硅步无以至千里)

剑指offer第十五题

题目如下

在这里插入图片描述

思路与代码

很多同学看到这个题会很懵,链表咋反转,别慌
就是一个个反转就行了。

不积硅步无以至千里,不积小流无以成江海

首尾交换成为尾链表,原尾链表next成为首链表

简单来说,就是不断地交换链表。前面的链表被视为了一个整体,一个表头地交换就等于把前面的都交换了

可能说的不是很清楚。仔细看看代码就懂了,只可意会呀!!!

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
    
    
public:
    ListNode* ReverseList(ListNode* pHead) {
    
    
        ListNode *pre=nullptr;
        ListNode *cur=pHead;
        while(cur!=nullptr){
    
    
            ListNode *tmp=cur->next;
            cur->next=pre;
            pre=cur;
            cur=tmp;
        }
        return pre;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42136832/article/details/114385114