我在夏理当农码 - CSDN: dio夹心小面包

 算法 标签

『 代码随想录 』 双指针 - 链表篇

  |   0 评论   |   62 浏览

本文介绍了链表操作中的四种常见题型及解法: 合并两个有序链表:使用双指针遍历两个链表,按顺序合并到新链表中。 分隔链表:按特定值将链表分为两个子链表,再合并保留相对顺序。 合并K个有序链表:通过优先级队列(小根堆)高效合并多个链表。 删除倒数第N个节点:采用快慢指针定位目标节点进行删除。 每种解法均配有动画演示和代码实现,核心思路是通过哨兵节点简化操作,利用双指针或堆结构优化处理逻辑。

『 代码随想录 』只出现一次的数III

  |   0 评论   |   194 浏览

本文探讨了如何从数组中找出仅出现一次的两个数字。核心思路是利用异或运算性质:将所有数异或得到a^b的结果,然后通过补码运算确定两数不同的二进制位进行分组。具体步骤为:1)计算所有数的异或结果;2)通过(a^b)&-(a^b)找到区分位;3)根据该位分组并再次异或得到最终解。文中还分析了INT_MIN取反溢出的问题,建议使用更大数据类型或特殊判断处理。最终代码简洁高效地实现了这一算法。