链表测试用例-翻转链表

#include<vector>
using namespace std;

struct ListNode{
	int val;
	ListNode* next;
	ListNode(int x) : val(x), next(NULL){}
};


ListNode* reverse(ListNode* head) {
	ListNode* pre = NULL;
	ListNode* cur = head;
	while (cur) {
		ListNode* t = cur->next;
		cur->next = pre;
		pre = cur;
		cur = t;
	}
	return pre;
}



int main() {
	ListNode* h1 = new ListNode(1);
	ListNode* h2 = new ListNode(2);
	ListNode* h3 = new ListNode(3);
	ListNode* h4 = new ListNode(4);
	ListNode* h5 = new ListNode(5);

	h1->next = h2;
	h2->next = h3;
	h3->next = h4;
	h4->next = h5;
	h5->next = NULL;

	ListNode* res = reverse(h1);
	while (res) {
		cout << res->val;
		res = res->next;
	}

	return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务