LintCode : 翻转链表
题目
翻转一个链表
样例
给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
思路
建立一个新链表依次向前插入。
代码
ListNode *reverse(ListNode *head)
{
if(head == NULL)
return head;
ListNode *result = (ListNode *)malloc(sizeof(ListNode));
ListNode *tail = new ListNode(head->val);
result->next = tail;
for(ListNode *p = head->next; p != NULL; p = p->next)
{
ListNode *t = new ListNode(p->val);
t->next = result->next;
result->next = t;
}
return result->next;
}