摘要:
问题链接 https://leetcode.cn/problems/reorder-list/description/ 解题思路 这题其实用list + 双指针模拟。很简单。 但我们要练习的是递归。 这题我本来是想用递归的方式进行模拟,但出了点问题。发现如果这样实现会有循环引用问题。 本着有简单的不 阅读全文
摘要:
问题链接 https://leetcode.cn/problems/powx-n/description/ 解题思路 这个题目具有缩小规模的潜质,所以可以用递归来进行解决。 为啥呢?因为幂本质上就是乘法。 2的3次幂,就是2*2*2。所以,我们要做的就是减少乘法的次数。 比如2的10次幂,它其实等于 阅读全文
摘要:
题目链接 https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 解题思路 首先这是个递归问题,因为它可以明显的缩小问题规模。既然是递归的问题,那我们按照递归的一般思路来。 首先,我们考虑递归函数的参数和返回值。 因为这个题目和上一 阅读全文
摘要:
问题链接 https://leetcode.cn/problems/add-two-numbers/description/ 解题思路 这题是倒着存储的,也要求我们返回一个倒着的链表。 即它需要我们左对齐,相加之后向后进位,但需要我们返回最左侧的结果节点。 看起来这也是个缩小规模的问题。 首先,我们 阅读全文
摘要:
问题链接 https://leetcode.cn/problems/hanota-lcci/description/ 解题思路 首先我们要定义递归函数。汉诺塔问题是典型的递归问题(缩小规模,小规模问题是大规模问题的子集),而且是典型的递归的定义就是递归的解的问题。 首先,我们定义一个汉诺塔函数,参数 阅读全文
摘要:
问题描述 https://leetcode.cn/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/description/ 解决方案 首先,这题有更简洁的解法,但我的脑子不够用,我只会模拟。所以就只写模拟。 首先,按照解递归的一般思 阅读全文
摘要:
问题描述 https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/description/ 解题思路 参考这个 代码 # Definition for singly-linked list. # class Lis 阅读全文
摘要:
问题链接 https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof/description/ 解题思路 参考上一个题目。 代码 class ListNode: def __init__(self, x): self.val = x self.next 阅读全文
摘要:
问题链接 https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/description/ 解题思路 首先看参数和返回值。参数为一个链表的头节点。返回值为一个逆序好的数组。 然后看本层做什么,以及怎么缩小规模。 本层要做 阅读全文
摘要:
问题描述 https://leetcode.cn/problems/fibonacci-number/description/ 解题思路 最经典的递归问题,它的问题描述就是递归的。 先考虑参数和返回值。参数就是n,返回值是fib(n)的值。 然后考虑本层做什么,以及缩小规模。 根据定义,本层就是将f 阅读全文