Easy-题目5:237. Delete Node in a Linked List

原创 2016年05月30日 19:46:05

题目原文:
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4 after calling your function.
题目大意:
删除单链表中指定节点。
题目分析:
把指定节点的值改成后面的值,并令其后继节点指向原后继节点的后继节点。
源码:(language:c)

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

成绩:
4ms,beats 0.52% 众数4ms,99.48%
Cmershen的碎碎念:
在数据结构课上,我们删除链表节点的方法是令其前驱节点指向后继节点。可是本题中只有当前节点,又是单链表,无法获得其前驱节点。这个问题困扰了我一段时间,但我发现还有value值可以利用,因此得出上述算法。
其实测试用例不完全,根据源码,Node->next是有可能为空的,再引用val和next有可能引发NPD异常。因此上述的ac代码不可以用于删除链表中最后一个节点。(dts大法好!!!(^__^) 嘻嘻……)

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

leetCode 237. Delete Node in a Linked List

题目链接:https://leetcode.com/problems/delete-node-in-a-linked-list/     题目内容: Write a function to del...

【一天一道LeetCode】#237. Delete Node in a Linked List

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...

LeetCode之路:237. Delete Node in a Linked List

LeetCode之路:237. Delete Node in a Linked List 一、引言这道题 哈哈哈 这是我做完了之后看到最高票答案的标题,顿时觉得有些滑稽:)那么接下来就让我们看看这...

Delete Node in a Linked List(删除链表中的节点)

Write a function to delete a node (except the tail) in a singly linked list, given only access to th...

【LeetCode】 Delete Node in a Linked List

Delete Node in a Linked List  Total Accepted: 1872 Total Submissions: 3662 Write a...

Delete Node in a Linked List

Write a function to delete a node (except the tail) in a singly linked list, given only access to th...

LeetCode---Delete Node in a Linked List

题目大意:给出一个链表中的节点,在链表中删除该节点,如果是尾节点则不删除。如:链表 1 -> 2 -> 3 -> 4 要删除链表中值为3的节点,则操作后的链表为1 -> 2 -> 4。 算法思想: ...

LeetCode------Delete Node in a Linked List

题目简介 Write a function to delete a node (except the tail) in a singly linked list, given onl...

Leetcode -Delete Node in a Linked List !

多坚持了一天。多亏今天还有一道easy的题。。 一、分析这题就是说: 删除一个单向链表的某个节点,但是只给你要删的这个节点,没有头结点。一看这题,给人第一个感觉估计就是没头绪,这单向链表,你...

LeetCode从零单排之零分段——Delete Node in a Linked List(删除链表中的元素)

原题: Write a function to delete a node (except the tail) in a singly linked list, given only acc...
  • dt_yee
  • dt_yee
  • 2015年07月15日 20:54
  • 361
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Easy-题目5:237. Delete Node in a Linked List
举报原因:
原因补充:

(最多只允许输入30个字)