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中文网其他相关文章!