- 博客(6)
- 收藏
- 关注
原创 力扣206. 反转链表 的五种解法
除了第一个节点,后面的链表我已经反转好了。然后你只需要做一件事:把当前头节点,接到反转后的链表的屁股后面。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。重新建一条新链表,每次从原链表摘下一个节点,都插在新链表的头部。一边遍历,一边把原本向后的箭头掰弯,让它指向前面的节点。• 输入:head = [1,2,3,4,5]把后面的节点,一个一个地“拔”到最前面来。• 输入:head = [1,2]• 输出:[5,4,3,2,1]• 输出:[2,1]
2026-11-07 11:36:58
143
原创 哈希表入门
哈希表就是一种通过“键(Key)”直接快速找到“值(Value)”的数据结构。可以这样简单理解:我们最常用的是除留余数法:hash = key %size但这里有个极其容易被忽略的坑:size 一般不能是偶数,最好是个素数(质数)!为什么?看看反例:假设你的哈希表大小 size = 10 (偶数)。• 要存的数据是:10,20,30,40,50。• 你算一下:10 % 10 = 0,20 % 10 = 0,30 % 10 = 0。• 灾难发生:这 5 个数全撞在一起了 (哈希冲突)!• 为什么?
2026-10-31 21:26:41
17
原创 力扣第一题题解
利用两层for循环,一层对每一个数字遍历,另一层对上一层已经遍历过之外 ( i+1) 的数字进行遍历,如果我们能记住之前遍历过哪些数以及它们的下标,那么找另一半只需要 O(1) 的时间。将遍历所得的两个数字相加,若等于目标值,便将这两个数字存入数组,之后返回数组地址。但是,数组中同一个元素在答案里不能重复出现。这是在外部函数处理问题,所操作位于栈区,函数结束变量销毁,则此时应该用。在堆里申请一片内存,这样返回的地址才能被成功接收。的那 两个 整数,并返回它们的数组下标。,请你在该数组中找出 和为目标值。
2026-10-30 23:16:54
16
原创 大小端基础知识学习
比如说你的电脑是小端(如 x86),直接把内存里的数据发出去(先发 78),对方的大端机器收到后会按大端解析,读成 0x78563412,数据全错。低位字节78放在最低地址0x1000,其余依次放在更大地址处。一个int占四个字节,这4个字节是:12,34,56,78。如果低地址存的是 00(高位字节),说明是大端。低位字节存储在低地址,高位字节存贮于高地址。高位字节存储在低地址,低位字节存贮于高地址。假设内存地址从0x1000开始。
2026-10-23 21:52:16
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅