【题目描述】
输入一个链表,反转链表后,输出新链表的表头。
【解题思路】
新建一个链表,用头插法将原链表插入新链表中即能实现反转。
【代码】
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