在很多递归操作中,有时直到会用到递归,但是却无从下手。这是因为对递归还不是很熟悉,或不了解递归的使用步骤。有时想多了反而会让找不到突破的方法。
递归,就是自己调用自己,所以每一次都是一样的功能,递归三要素:
1.什么时候终止。
2.找返回值,应该给上一级返回什么。
3.本层递归应该做什么。
在递归中,因为每一层都是一样的,所以不要想其他层,只需要考虑该层。
举例:
我们可以看出,该题目是两两交换相邻的点,所以每一次交换都是一样的,所以可以使用递归。
上面说过,只需要考虑一层,
class Solution {
public ListNode swapPairs(ListNode head