地址 https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000
解答
使用的递归解决该问题
class Solution { public: ListNode* newH; ListNode* newT; void DFS(ListNode* head ) { if (head->next == NULL) { newH = head; newT = head; return; } ListNode* p = head; DFS(head->next); newT->next = p; newT = p; p->next = NULL; return; } ListNode* reverseList(ListNode* head) { if (head == NULL ) return head; if (head->next == NULL) return head; newH = NULL; newT = NULL; DFS(head); return newH; } };