JZ-24题解 | #反转链表#

反转链表

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

题目描述


给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

题解

代码

struct ListNode {
	int val;
	struct ListNode* next;
	ListNode(int x) :
		val(x), next(NULL) {
	}
};
ListNode* ReverseList(ListNode* pHead) {
	ListNode* pre = NULL;
	ListNode* cur = pHead;
	ListNode* temp = NULL;
	while (cur)
	{
		temp = cur->next;//保存cur下一个节点
		cur->next = pre;//反转链表指向
		pre = cur;//pre指针向下移动
		cur = temp;//cur指针向下移动
	}
	return pre;//当cur指针指向NULL时,反转链表完成
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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