题解 | #反转链表#

反转链表

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

/*
struct ListNode {
	int val;
	struct ListNode *next;
	ListNode(int x) :
			val(x), next(NULL) {
	}
};*/
#include <iterator>
#include <list>
#include <stack>
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
		//**************************************************
		stack<ListNode*> s;
		while(pHead){
			s.push(pHead);
			pHead = pHead->next;
		}
		if(s.empty()) return NULL;
		ListNode* node = s.top();
		s.pop();
		ListNode* dummy = node;
		while(!s.empty()){
			ListNode* temp = s.top();
			s.pop();
			node->next = temp;
			node = node->next;
		}
		node->next=NULL;
		return dummy;
    }
};

全部评论

相关推荐

迷茫的大四🐶:那你问他上班之后老实了没
点赞 评论 收藏
分享
迷茫的大四🐶:看来已经准备换人了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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