LeetCode 237. チェーンテーブルのノードの削除(Java)
4077 ワード
タイトルの説明:チェーンテーブルで指定された(末尾ではない)ノードを削除できるように関数を作成してください.削除を要求されたノードだけを削除します.
既存のチェーンテーブル-head=[4,5,1,9]は、次のように表すことができます.
説明:
この问题はとても简単ですが、私が作った时は30分もかかりました.どうして、ずっと问题の意味を间违えていましたか. タイトルは、現在のチェーンテーブルで削除する必要がある要素が見つかりました.私たちが唯一しなければならないのは、このノードの後のノードを現在のノードの前のノードに接続することです.このとき、ノードの削除が実現されます.
コードは次のとおりです.
既存のチェーンテーブル-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;
}
}