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 *p;
13. ListNode *q;
14. ListNode *r;
15.
16. if(head == NULL || head->next == NULL)
17. {
18. return head;
19. }
20. else
21. {
22. p = head;
23. q = head->next;
24. head->next = NULL;
25.
26. while(q)
27. {
28. r = q->next;
29. q->next = p;
30. p = q;
31. q = r;
32. }
33. head = p;
34. }
35. return head;
36. }
37. };
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/csdnjack_/article/details/46982673