【アルゴリズムはデータ構造に関連する】【LeetCode】【237チェーンテーブルのノードを削除する】【Python】


テーマ:チェーンテーブルで指定された(末尾ではない)ノードを削除できるように関数を作成してください.削除を要求されたノードだけが指定されます.
既存のチェーンテーブル--head=[4,5,1,9]は、4->5->1->9と表すことができます.
例:
  : head = [4,5,1,9], node = 5
  : [4,1,9]
  :          5       ,            ,       4 -> 1 -> 9.
  : head = [4,5,1,9], node = 1
  : [4,5,9]
  :          1       ,            ,       4 -> 5 -> 9.

説明:
  • チェーンテーブルは、少なくとも2つのノードを含む.
  • チェーンテーブルのすべてのノードの値は一意です.
  • によって与えられたノードは、非末尾ノードであり、チェーンテーブルの有効なノードであるに違いない.
  • 関数から結果を返さないでください.

  • 考え方:一見、これは冗談ではありませんか.私にパラメータをください.チェーンテーブルの頭もあげません.巧婦は米のない炊事は難しいですね.しかし、実はそうではありません.パラメータはチェーンテーブルの中のノードです.そして、私たちが削除するノードです.それは次のノードで現在のノードをカバーすればいいのです.
    コード:
    # 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.
            """
            nxt = node.next
            node.val = nxt.val
            node.next = nxt.next