题目描述
思路
模板 伪代码
ret = dfs(ret->next);
ret->next->next = head;
head->next = NULL
return ret
代码
class Solution {
public:
ListNode* dfs(ListNode* head)
{
if(head==NULL||head->next==NULL)
return head;
ListNode *ret = dfs(head->next);
//递归进行翻转
head->next->next = head;
head->next = NULL;
return ret;
}
ListNode* reverseList(ListNode* head) {
ListNode *temp;
temp = dfs(head);
return temp;
}
};