3217。從數組中存在的鍊錶中刪除節點
難度:中
主題:陣列、雜湊表、鍊錶
給你一個整數陣列 nums 和一個鍊錶的頭。從鍊錶中刪除所有具有 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中文網其他相關文章!