递归的思路:

    1. 找到终止条件
    2. 处理当前层逻辑(可能无)(当前层的数据,就是传参)
    3. 进入下一层
    4. 回溯时,当前层的处理(回溯到当前层是,当前层的数据就是 进入下一层时的传参)

    比如:递归翻转链表

    1. LinkNode *reverseLink(LinkNode *head) {
    2. if (!head || head->next == nullptr) { //终止条件
    3. return head;
    4. }
    5. //处理当前层逻辑,翻转时,本层无需处理,直接进入下一层
    6. res = reverseLink(head->next);
    7. // 回溯处理,回溯到这里时,当前层的变量是 head->next
    8. LinkNode *cur = head->next;
    9. cur->next = head; //当前层的next == 上一层的Head
    10. head->next = nullptr;
    11. return res;
    12. }