2487. 从链表中移除节点(待补充)

该文章介绍了在LeetCode问题中,如何使用递归算法removeNodes来删除链表中满足特定条件的节点。方法是通过递归从链表尾部开始,比较当前节点值与后继节点值,决定是否删除当前节点。
摘要由CSDN通过智能技术生成

个人注释

法一:

struct ListNode* removeNodes(struct ListNode* head) {
    if (head == NULL) { //递归结束条件:头指针为空
        return NULL;
    }
    head->next = removeNodes(head->next);   //链表递归,使可 从后面开始对链表进行操作
    if (head->next != NULL && head->val < head->next->val) {    //上次递归head->next等于此处返回值
        return head->next;  //跳过(即删除)当前head,使上次递归head->next指向当前head->next
    }
    else {
        return head;    //返回当前head,使上次递归head->next指向当前head
    }
}

//姿势点
//1)通过递归可从后面开始对链表进行操作

法二:

法三:

作者:力扣官方题解
链接:https ://leetcode.cn/problems/remove-nodes-from-linked-list/solutions/2587737/cong-lian-biao-zhong-yi-chu-jie-dian-by-z53sr/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值