栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【算法学习】02.03. 删除中间节点(java / c / c++ / python / go)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【算法学习】02.03. 删除中间节点(java / c / c++ / python / go)

非常感谢你阅读本文~
欢迎【点赞】【⭐收藏】【评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子 https://le-yi.blog.csdn.net/ 博客原创~


文章目录
  • 02.03. 删除中间节点:
  • 样例 1
  • 分析
  • 题解
    • java
    • c
    • c++
    • python
    • go
  • 原题传送门:https://leetcode-cn.com/problems/delete-middle-node-lcci/


02.03. 删除中间节点:

若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。

假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。

例如,传入节点 c(位于单向链表 a->b->c->d->e->f 中),将其删除后,剩余链表为 a->b->d->e->f

样例 1
输入:
	节点 5 (位于单向链表 4->5->1->9 中)
输出:
	不返回任何数据,从链表中删除传入的节点 5,使链表变为 4->1->9

分析
  • 链表前一个节点存有下一个节点的地址,一般的删除节点,是直接将当前节点的上一个节点与当前节点的下一个节点相连。
  • 本题只传入要删除的节点,所以当前节点的地址是不能变的,也就只能改变值了。在业务的角度看,并不关心链表的地址,关心的是里面的值,所以我们只要让值看起来是删掉了,就算是删除了当前节点。
  • 这道题官方不让选rust,二当家的只好舍掉。

题解 java
class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
}

c
void deleteNode(struct ListNode* node) {
    node->val = node->next->val;
    node->next = node->next->next;
}

c++
class Solution {
public:
    void deleteNode(ListNode* node) {
        node->val = node->next->val;
        node->next = node->next->next;
    }
};

python
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def deleteNode(self, node):
        """
        :type node: ListNode
        :rtype: void Do not return anything, modify node in-place instead.
        """
        node.val = node.next.val
        node.next = node.next.next

go
func deleteNode(node *ListNode) {
    node.Val = node.Next.Val
	node.Next = node.Next.Next
}


原题传送门:https://leetcode-cn.com/problems/delete-middle-node-lcci/
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号