被月亮收买
2023-12-18
给定一个头节点为 head 的单链表用于记录一系列核心肌群训练编号,请将该系列训练编号 倒序 记录于链表并返回。   示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1]   示例 2: 输入:head = [1,2] 输出:[2,1]   示例 3: 输入:head = [] 输出:[] 作者:Krahets 链接:https://leetcode.cn/leetbook/read/illustration-of-algorithm/7fadz7/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 class Solution { public ListNode trainningPlan(ListNode head) { return recur(head, null); // 调用递归并返回 } private ListNode recur(ListNode cur, ListNode pre) { if (cur == null) return pre; // 终止条件 ListNode res = recur(cur.next, cur); // 递归后继节点 cur.next = pre; // 修改节点引用指向 return res; // 返回反转链表的头节点 } } return res; 就是return recur(cur.next, cur); ?所以又调用了recur函数,开始了新递归?为什么每一层递归的返回值 res 都是相同的,都是 5
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP