简单题:使用三个指针:pre、cur和next
需要注意的是,当访问链表中的某一个域,如value,首先需要保证该节点不为空,所以这里把next指针的定义放到while循环中,保证了cur不为空,相对应的cur->next也是有意义的
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* pre = NULL;
ListNode* cur = head;
while(cur != NULL){
/*当访问链表中的某一个域,如value,首先需要保证该节点不为空
所以这里把next指针的定义放到while循环中,保证了cur不为空,相对应的cur->next也是有意义的*/
ListNode* next = cur->next;
cur->next = pre;
pre = cur;
cur = next;
}
return pre;
}
};