【剑指offer】翻转链表

题目链接

 

【题目描述】

输入一个链表,反转链表后,输出新链表的表头。

 

【解题思路】

新建一个链表,用头插法将原链表插入新链表中即能实现反转。

 

【代码】

【剑指offer】翻转链表
 1 /*
 2 struct ListNode {
 3     int val;
 4     struct ListNode *next;
 5     ListNode(int x) :
 6             val(x), next(NULL) {
 7     }
 8 };*/
 9 class Solution {
10 public:
11     ListNode* ReverseList(ListNode* pHead) {
12         ListNode *node=(ListNode*)malloc(sizeof(ListNode));
13         node->next=NULL;
14         while(pHead!=NULL)
15         {
16             ListNode *p=(ListNode*)malloc(sizeof(ListNode));
17             p->val=pHead->val;
18             p->next=node->next;
19             node->next=p;
20             pHead=pHead->next;
21         }
22         return node->next;
23     }
24 };
View Code

 

上一篇:剑指offer-复杂链表的复制-Python


下一篇:剑指offer:复杂链表的复制