美文网首页
leetcode 237. Delete Node in a L

leetcode 237. Delete Node in a L

作者: 咿呀咿呀呦__ | 来源:发表于2017-12-29 14:43 被阅读0次

    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.

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
        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
    

    思路:
    因为只给了要删除的节点,所以采用的方法是将node的val和next替换成下一个节点的val和next,这样的效果就是将node删掉了。

    Complexity Analysis:

    Time and space complexity are both O(1).

    相关文章

      网友评论

          本文标题:leetcode 237. Delete Node in a L

          本文链接:https://www.haomeiwen.com/subject/kkiigxtx.html