一些递归

反转链表

public:
    ListNode* reverseList(ListNode* head) {
        // 1. 递归终止条件
        if (head == nullptr || head->next == nullptr) return head;//最后一个是p
        ListNode* p = reverseList(head->next);
        head->next->next = head;
//head.next.next本来是指向null,,等于的head就是让他在指到反转指回去

        head->next = nullptr;
//再让head下一个变成null指回去null
        return p;//由于这个导致返回的每次返回的是同一个p
//注意这个不是head,如果是head就乱了
    }




上一篇:左偏树(可并堆)【模板】


下一篇:数据结构与算法-图的存储,邻接矩阵,邻接表,链式前向星