- 博客(4)
- 收藏
- 关注
原创 算法训练04交换链表节点+删除链表倒数的节点+链表相交+环形链表
/方法二 快慢指针-办法是两个指针相差n个然后一起遍历直到fast到最后一个,此时slow指针就是要处理的值前一个。//一个指针从头节点走,一个从相遇位置走,每次一步,第一个相遇的就是入口节点(因为刚好差环这么多步)一个指针从头节点走,一个从相遇位置走,每次一步,第一个相遇的就是入口节点(因为刚好差环这么多步)//快慢指针步数 差环的长度/环长度的倍数 时候一定会指向同一个节点。//每次差1或者2或者3或者````->快指针走2步,慢指针走1步。
2024-09-29 16:21:50 721
原创 算法训练03删除链表元素+设计链表
/// 这一步非常关键,否则在加入头结点的操作中会出现null.next的错误!这种结构允许双向遍历链表,便于在一些操作(如删除节点、插入节点等)中直接访问前后节点。=null){//考虑删掉的是尾巴节点,则有可能cur.next是null!5.注意要是==val的位于链表尾部,则不应该再=cur.next所以cur遍历和删除节点是if else的关系。初始化的时候需要构建head和tail节点(虚拟节点val都为0/-1,避免空指针异常)// 等价于在第0个元素前添加。//1.遍历链表 虚拟头节点。
2024-09-28 15:27:32 510
原创 算法训练02--长度最小的子数组+螺旋矩阵
slow指针移动触发条件!sum大于target*/核心在于用一个for解决两个for嵌套的问题,解决双层for 关键在于自己触发一个遍历的位置。for里是fast指针的便利,所有元素,且元素按顺时针顺序螺旋排列的。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。滑动窗口(双指针),
2024-09-27 21:37:48 249
原创 算法训练--二分查找,双指针移除元素
2.1思考循环内容--注意左闭右闭 和左闭右开的判定内容不一样。,如果目标值存在返回下标,否则返回。2.思路--思路二分判断 区间左右挪。个元素有序的(升序)整型数组。2.2思考循环结束条件。
2024-09-26 15:08:16 71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人