码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode_206题——Reverse Linked List(链表)

时间:2015-05-05 21:20:22      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

Reverse Linked List

 Total Accepted: 1726 Total Submissions: 4378My Submissions

 

Reverse a singly linked list.

click to show more hints.

 

Hide Tags
 Linked List
Have you met this question in a real interview? 
Yes
 
No
 

Discuss

       这道题比较简单,主要是给链表反序,所以可以设置三个指针,ptr0,ptr1指向要交换的两个结点,ptr2在交换之前先指向ptr1的下一个结点,

这样好为下一次交换做准备,即再往后移就可以了,直到末尾

#include<iostream>
using namespace std;

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

ListNode* reverseList(ListNode* head) {
	if(head==NULL||head->next==NULL)
		return head;
	ListNode* ptr0=head;
	ListNode* ptr1=head->next;
	ListNode* ptr2;
	ptr0->next=NULL;
	while(1)
	{
		ptr2=ptr1->next;
		ptr1->next=ptr0;
		if(ptr2==NULL)
			break;
		ptr0=ptr1;
		ptr1=ptr2;
	}
	return ptr1;
}
int main()
{

}

  

leetcode_206题——Reverse Linked List(链表)

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4479964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!