作者:ame-9
链接:https://leetcode-cn.com/problems/reverse-linked-list/solution/python3di-gui-jie-fa-zhu-yi-xu-xian-kuang-zai-shui/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在思考递归问题的时候,我们要从上到下思考:
子问题是什么
base case是什么
在当前层要干什么
对翻转链表来说,以1->2->3->4->5为例:
子问题是:除去current node,翻转剩余链表,即除去1, reverseList(2->3->4->5),递归得到的解是 5->4->3->2
base case:当前节点为空,返回空,当前节点的next为空(只剩余一个节点),返回该节点
在当前层要干什么:翻转链表,即把1->2变为2->1.
最后return的是结果链表的头,也就是递归解的头。