题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
		ListNode* ans = new ListNode(-1);

		ListNode* prev = NULL;
		while(pHead)
		{
			ListNode* temp = pHead->next;	//temp保存当前链表的下一个位置pHead->next
			pHead->next = prev;		//当前链表指向prev(prev最开始是NULL,后续可不是NULL哦)
			prev = pHead;		//prev移动到当前链表的头节点pHead
			pHead = temp;		//当前链表变为存储的(还未处理的)链表temp
		}

		return prev;

    }
};


C++题库 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务