码迷,mamicode.com
首页 > 其他好文 > 详细

链表反转

时间:2021-03-08 13:28:22      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:linked   多次   col   链表   head   函数   next   div   递归   

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     ListNode* reverse(ListNode* cur, ListNode* pre) {
12         if (cur == NULL) {
13             return pre;
14         }
15         ListNode* res = reverse(cur->next, cur);
16         cur->next = pre;
17         return res;
18     }
19     /*这里返回 res 是为了在链表多次递归返回后依旧能够保存递归深层次的链表节点值*/
20     ListNode* reverseList(ListNode* head) {
21         ListNode* res = reverse(head, NULL);
22         return res;
23     }
24 };

 

链表反转

标签:linked   多次   col   链表   head   函数   next   div   递归   

原文地址:https://www.cnblogs.com/morningsunlll/p/14492968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!