【アルゴリズムはデータ構造に関連する】【LeetCode】【237チェーンテーブルのノードを削除する】【Python】
1169 ワード
テーマ:チェーンテーブルで指定された(末尾ではない)ノードを削除できるように関数を作成してください.削除を要求されたノードだけが指定されます.
既存のチェーンテーブル--head=[4,5,1,9]は、4->5->1->9と表すことができます.
例:
説明:チェーンテーブルは、少なくとも2つのノードを含む. チェーンテーブルのすべてのノードの値は一意です. によって与えられたノードは、非末尾ノードであり、チェーンテーブルの有効なノードであるに違いない. 関数から結果を返さないでください.
考え方:一見、これは冗談ではありませんか.私にパラメータをください.チェーンテーブルの頭もあげません.巧婦は米のない炊事は難しいですね.しかし、実はそうではありません.パラメータはチェーンテーブルの中のノードです.そして、私たちが削除するノードです.それは次のノードで現在のノードをカバーすればいいのです.
コード:
既存のチェーンテーブル--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.
説明:
考え方:一見、これは冗談ではありませんか.私にパラメータをください.チェーンテーブルの頭もあげません.巧婦は米のない炊事は難しいですね.しかし、実はそうではありません.パラメータはチェーンテーブルの中のノードです.そして、私たちが削除するノードです.それは次のノードで現在のノードをカバーすればいいのです.
コード:
# 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