题解 | #反转链表#

反转链表

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* tmp1;
		ListNode* tmp2;
		if(pHead == nullptr)
			return nullptr;
		tmp1 = pHead->next;
		pHead->next = nullptr;
		while(tmp1 != nullptr){
			tmp2 = tmp1->next;
			tmp1->next = pHead;
			pHead = tmp1;
			tmp1 = tmp2;
		}
		return pHead;
    }
};

设置两个临时指针用于保存当前要处理的节点和该节点的下一个节点,要主语输入范围包含了0个节点因此需要判空

全部评论

相关推荐

05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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