Delete Node in a Linked List

原题: https://leetcode.com/problems/delete-node-in-a-linked-list/description/

题意: 编写一个函数删除单链表中(除末尾节点外)的一个节点,只提供待删除节点。

例子: 

假如链表是1 -> 2 -> 3 -> 4 给你第3个节点,值为3,则调用你的函数后链表为1 -> 2 -> 4 

标签: linked、delete、链表、node、单链、面试
猜你感兴趣的圈子:
LeetCode交流圈
  • Bingo
    2017-08-18 17:38:03 1楼#1层
    Python:
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        # @param {ListNode} node
        # @return {void} Do not return anything, modify node in-place instead.
        def deleteNode(self, node):
            node.val = node.next.val
            node.next = node.next.next
  • Bingo
    2017-08-18 17:39:22 2楼#1层
    C++:
    void deleteNode(ListNode* node) {
        auto next = node->next;
        *node = *next;
        delete next;
    }
  • Bingo
    2017-08-18 17:39:39 3楼#1层
    Java:
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
  • Bingo
    2017-08-18 17:39:58 4楼#1层
    C:
    void deleteNode(struct ListNode* node) {
        struct ListNode* next = node->next;
        *node = *next;
        free(next);
    }
  • Bingo
    2017-08-18 17:40:16 5楼#1层
    JavaScript:
    var deleteNode = function(node) {
        node.val = node.next.val;
        node.next = node.next.next;
    };
  • Bingo
    2017-08-18 17:40:33 6楼#1层
    Ruby:
    def delete_node(node)
        node.val = node.next.val
        node.next = node.next.next
        nil
    end
  • 回复
隐藏