题解 | #反转链表#

反转链表

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) {
		stack<ListNode*> s;
		while(pHead!=nullptr){
			s.push(pHead);
			pHead=pHead->next;
		}
		if(!s.empty()){
			pHead=s.top();
			ListNode*p=pHead;
			s.pop();
			while(!s.empty()){
				p->next=s.top();
				s.pop();
				p=p->next;
			}
			p->next=nullptr;
		}
		else pHead=nullptr;
		return pHead;
    }
};

采用栈数据结构辅助完成

全部评论

相关推荐

哈哈哈,你是老六:百度去年裁员分评不好,赶紧弄点红包
点赞 评论 收藏
分享
KKorz:是这样的,还会定期默写抽查
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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