迭代解法
思路: 定义两个指针,分别指向两个相邻的结点,pre指针指向较前的那个结点,cur指针指向较后的那个结点,每次将cur->next更新为pre即可。
注意事项: 由于链表不支持随机访问,只有通过上一个结点的next指针才能访问当前结点,再通过当前结点的next指针才能访问下一个结点,所以如果仅修改cur的next指针,就丢掉了cur后面结点的索引,就无法继续处理后续的结点了。
解决方法 : 在修改cur的next指针前,让一个新的变量记录一下cur的下一个结点,这样处理就不会丢失cur之后的结点了。
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *pre=