赞
踩
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
思路:递归法,在回溯时修改链表指向
- class Solution {
- public:
- ListNode* reverseList(ListNode* head) {
- return Recur(head, NULL);
- }
- ListNode* Recur(ListNode* cur, ListNode* pre)
- {
- if (cur == NULL) return pre;
- ListNode* res = Recur(cur->next,cur);
- cur->next = pre;
- return res;
- }
- };
1、退出条件:递归函数中,确定退出条件
if (cur == NULL) return pre;
2、递归语句
- ListNode* res = Recur(cur->next,cur);
- return res;
3、回溯操作(在回溯时修改指针指向)
cur->next = pre
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。