力扣2487.从链表中移除节点

思路:递归进行逆向遍历,对于每一个结点,返回它和它的下一个结点之间的最大结点作为上一个结点的下一个结点

代码:

class Solution {
public:
    ListNode* removeNodes(ListNode* head) {
        if(head -> next == NULL) return head;
        head -> next = removeNodes(head -> next);
        if(head -> next -> val > head -> val) return head -> next;
        return head;
    }
};

你可能感兴趣的:(力扣刷题笔记,leetcode,链表,算法,c++)