206. Reverse Linked List

反转一个链表

思路:

1.空或者单元素链表直接返回

2.两个元素以上

设置一个新的表头t1;

然后遍历链表,每遍历一个元素,都用插入到t1中;

t2用来存储断开后的链表。

注意这里全是地址操作,比如t2=head,那么head发生变化,t2也会变。

代码:

if(head==NULL||head->next==NULL)

return head;

t2=head->next;//这样head发生改变不会影响到t2

t1->next=head;

head->next=t1;//完成一次操作

while(t2!=NULL)

{

  head = t2;

  t2 = t2->next;

  t1->next = t3;

  t1->next = head;

  head->next = t3; //插入操作

}

 

posted on 2016-05-28 14:12  不小的文  阅读(99)  评论(0编辑  收藏  举报

导航