3217。配列内に存在するリンクされたリストからノードを削除
難易度: 中
トピック: 配列、ハッシュ テーブル、リンク リスト
整数 num の配列とリンク リストの先頭が与えられます。 nums に存在する値を持つリンク リストからすべてのノードを削除した後、変更されたリンク リストの先頭を返します。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
リンクされたリストをたどって、配列 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 サイトの他の関連記事を参照してください。