Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167368
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-03 15:44
文章分类

全部博文(13)

文章存档

2015年(3)

2014年(10)

我的朋友

分类: C/C++

2015-07-17 02:24:09

Reverse a singly linked list.
  1. /**
  2.  * Definition for singly-linked list.
  3.  * struct ListNode {
  4.  * int val;
  5.  * ListNode *next;
  6.  * ListNode(int x) : val(x), next(NULL) {}
  7.  * };
  8.  */
  9. class Solution {
  10. public:
  11.     ListNode* reverseList(ListNode* head) {
  12.         ListNode *s,*p,*l=NULL;
  13.        
  14.         p=head;
  15.         if(p == NULL || p->next ==NULL) return head;
  16.         
  17.         while(p->next!=NULL)
  18.         {
  19.             s=p->next;
  20.             p->next = l;
  21.             l=p;
  22.             p=s;
  23.         }
  24.         
  25.         p->next = l;
  26.         
  27.         head=p;
  28.         return head;
  29.     }
  30. };

阅读(842) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~