算法1
每次从链表头取一个节点,剩余链表为head。将取下的结点头插入到目标链表newhead中
时间复杂度$O(n)$
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *newhead;
newhead = NULL;
while(head!=NULL)
{
ListNode *p = head;
head = head->next;
p->next = newhead;
newhead = p;
}
return newhead;
}
};