递归实现
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);
}
};
京公网安备 11010502036488号