当前位置:   article > 正文

力扣刷题笔记丨算法数据结构--链表--反转链表

力扣刷题笔记丨算法数据结构--链表--反转链表

1 题目分析

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

2 代码实现

思路:递归法,在回溯时修改链表指向

  1. class Solution {
  2. public:
  3. ListNode* reverseList(ListNode* head) {
  4. return Recur(head, NULL);
  5. }
  6. ListNode* Recur(ListNode* cur, ListNode* pre)
  7. {
  8. if (cur == NULL) return pre;
  9. ListNode* res = Recur(cur->next,cur);
  10. cur->next = pre;
  11. return res;
  12. }
  13. };

3 递归算法整理

1、退出条件:递归函数中,确定退出条件

if (cur == NULL) return pre;

2、递归语句

  1. ListNode* res = Recur(cur->next,cur);
  2. return res;

3、回溯操作(在回溯时修改指针指向)

cur->next = pre

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/726189
推荐阅读
相关标签
  

闽ICP备14008679号