3217。配列内に存在するリンクされたリストからノードを削除
難易度: 中
トピック: 配列、ハッシュ テーブル、リンク リスト
整数 num の配列とリンク リストの先頭が与えられます。 nums に存在する値を持つリンク リストからすべてのノードを削除した後、変更されたリンク リストの先頭を返します。
例 1:
値 1、2、および 3 を持つノードを削除します。例 2:
値 1 のノードを削除します。例 3:
値 5 を持つノードはありません。制約:
ヒント:
解決策:
リンクされたリストをたどって、配列 nums に値が存在するノードをすべて削除する必要があります。
このソリューションを PHP で実装してみましょう: 3217。配列内に存在するリンクされたリストからノードを削除
<?php
// Definition for a singly-linked list node.
class ListNode {
public $val = 0;
public $next = null;
function __construct($val = 0, $next = null) {
$this->val = $val;
$this->next = $next;
}
}
class Solution {
/**
* @param Integer[] $nums
* @param ListNode $head
* @return ListNode
*/
function removeElements($head, $nums) {
...
...
...
/**
* go to ./solution.php
*/
}
}
// Example usage:
// Linked List: 1 -> 2 -> 3 -> 4 -> 5
$head = new ListNode(1);
$head->next = new ListNode(2);
$head->next->next = new ListNode(3);
$head->next->next->next = new ListNode(4);
$head->next->next->next->next = new ListNode(5);
// Array nums: [1, 2, 3]
$nums = [1, 2, 3];
$solution = new Solution();
$result = $solution->removeElements($head, $nums);
// Function to print the linked list
function printList($node) {
while ($node !== null) {
echo $node->val . " ";
$node = $node->next;
}
}
// Print the resulting linked list
printList($result); // Output: 4 5
?>
removeElements($head, $nums):
エッジケース:
複雑さ:
入力 nums = [1, 2, 3] および head = [1, 2, 3, 4, 5] の場合、アルゴリズムは次のようになります:
結果のリンク リストは [4, 5] です。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が配列内に存在するリンクされたリストからノードを削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。