1. 程式人生 > >劍指offer(15)反轉連結串列

劍指offer(15)反轉連結串列

題目描述
輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。
解題思路

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