- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 LeetCode24.两两交换链表中的节点
循环停止条件是没有能够两两相配的节点能够交换,当为奇数时指针移动到末尾能够得到current.next.next = None,而为偶数时,应为current.next = None,而 current.next.next会报空指针异常,因为循环条件应写为 while current.next and current.next.next,意为当下一个节点和下下一个节点存在时才进行交换操作。最后一步完成后,要将current指针指向下一个操作目标前,current = current.next.next。
2024-05-05 16:03:01
601
原创 LeetCode707.设计链表
找到 index 节点需要从第0个节点遍历至第 index - 1 个节点,则循环次数为 range(index),注意此时指针应指向头节点而非虚拟头节点,这样能使循环结束后。虚拟头节点法,在链表类中定义初始虚拟头节点指向节点,初始链表长度为0,在插入节点时 size+1 ,删除节点时 size-1。先让新节点指向头节点,即虚拟头节点的next,后再将虚拟头节点的next指向新节点。相似,先让新节点指向指针的下一个节点,后当前指针的节点再指向新节点。,将最后一个节点指向新节点。指针指向最后一个节点。
2024-05-04 19:46:57
700
原创 LeetCode59.螺旋矩阵II
每次开始时都是在对角上的元素,因此每一圈的第一行遍历的开始位置为(start,start)不为 (i,j)(当遍历一圈的最后一行操作时 i 还在外圈,不在下一圈的开始位置;如遍历到最后一列时为遍历(2,0)->(1,0),遍历结束后 i = 1)j > start = 0,j--(j = 2,1) 因为 j 要从2 -> 1,需变换循环条件为 j > start。i > start = 0,i--(i = 2,1) 因为 i 要从2 -> 1,需变换循环条件为 i > start。
2024-03-12 14:07:53
1504
原创 LeetCode209.长度最小的子数组——滑动窗口法
sum = 10 > taeget = 7 进入左指针移动,while循环不退出右指针不移动。sum = 8 > taeget = 7 进入左指针移动,while循环不退出右指针不移动。sum = 9 > taeget = 7 进入左指针移动,while循环不退出右指针不移动。sum = 7 = taeget = 7 左指针移动未退出,右指针不移动。sum = 7 = taeget = 7 左指针移动未退出,右指针不移动。
2024-03-09 11:45:27
324
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人