递归实现
1、确定函数返回值及参数
ListNode* reverse(ListNode* pre, ListNode* cur)
2、确定递归终止条件
if(cur == nullptr) return pre;
3、确定递归单层逻辑
ListNode* temp = cur->next; cur->next = pre;
最终完整代码
class Solution { public: ListNode* ReverseList(ListNode* pHead) { return reverse(nullptr, pHead); } //递归实现 ListNode* reverse(ListNode* pre, ListNode* cur){ if(cur == nullptr) return pre; ListNode* temp = cur->next; cur->next = pre; return reverse(cur, temp); } };