非常感谢你阅读本文~
欢迎【点赞】【收藏】【评论】~
放弃不难,但坚持一定很酷~
希望我们大家都能每天进步一点点~
本文由 二当家的白帽子 https://le-yi.blog.csdn.net/ 博客原创~
若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。
假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。
例如,传入节点 c(位于单向链表 a->b->c->d->e->f 中),将其删除后,剩余链表为 a->b->d->e->f
输入:
节点 5 (位于单向链表 4->5->1->9 中)
输出:
不返回任何数据,从链表中删除传入的节点 5,使链表变为 4->1->9
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */
class Solution {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */
void deleteNode(struct ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */
class Solution {
public:
void deleteNode(ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
};
# 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
/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */
func deleteNode(node *ListNode) {
node.Val = node.Next.Val
node.Next = node.Next.Next
}