LeetCode 237. チェーンテーブルのノードの削除(Java)

4077 ワード

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

  : head = [4,5,1,9], node = 5
  : [4,1,9]
  :          5       ,            ,       4 -> 1 -> 9.
   2:

  : head = [4,5,1,9], node = 1
  : [4,5,9]
  :          1       ,            ,       4 -> 5 -> 9.

説明:
>>>>

この问题はとても简単ですが、私が作った时は30分もかかりました.どうして、ずっと问题の意味を间违えていましたか. タイトルは、現在のチェーンテーブルで削除する必要がある要素が見つかりました.私たちが唯一しなければならないのは、このノードの後のノードを現在のノードの前のノードに接続することです.このとき、ノードの削除が実現されます.
コードは次のとおりです.
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public void deleteNode(ListNode node) {
          node.val = node.next.val;
          node.next = node.next.next;
    }
}