题解 | #反转链表#

反转链表

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||pHead->next==nullptr){
			return pHead;
		}
		ListNode *r=pHead->next->next,*p=pHead->next,*h=pHead;
		pHead->next=nullptr;
		do{
			p->next=h;
			h=p;
			p=r;
			if(p==nullptr){
				break;
			}
			r=p->next;
		}while(p!=nullptr);
		return h;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务