题解 | #反转链表#

反转链表

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) {
		if(pHead == nullptr){
			return nullptr;
		}

		ListNode* p = pHead;
		ListNode* q = p->next;
		p->next = nullptr;		// 头节点不为空时, 反转后,头节点的next应为空
		while (q != nullptr) {
			ListNode* k = q->next; 
			q->next = p;
			p = q;
			q = k;
		}
		return p;

    }
};

全部评论

相关推荐

勉勉强强过了两题,没发挥好
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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