数据结构和算法
主要为力扣专题
LilySun&
激流勇进
展开
-
BM13 判断一个链表是否为回文结构
数据范围: 链表节点数 0≤�≤1050≤n≤105,链表中每个节点的值满足 ∣���∣≤107∣val∣≤107。给定一个链表,请判断该链表是否为回文结构。回文是指该字符串正序逆序完全一致。原创 2023-05-08 17:48:38 · 41 阅读 · 0 评论 -
BM12 单链表的排序
数据范围:0原创 2023-05-08 17:19:29 · 78 阅读 · 0 评论 -
BM11 链表相加(二)
例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。数据范围:0≤n,m≤1000000,链表任意值 0≤val≤9。给定两个这种链表,请生成代表两个整数相加值的结果链表。要求:空间复杂度O(n),时间复杂度 O(n)原创 2023-05-08 16:03:21 · 40 阅读 · 0 评论 -
BM10 两个链表的第一个公共结点
输入分为是3段,第一段是第一个链表的非公共部分,第二段是第二个链表的非公共部分,第三段是第一个链表和第二个链表的公共部分。后台会将这3个参数组装为两个链表,并将这两个链表对应的头节点传入到函数FindFirstCommonNode里面,用户得到的输入只有pHead1和pHead2。输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。第一个参数{1,2,3}代表是第一个链表非公共部分,第二个参数{4,5}代表是第二个链表非公共部分,最后的{6,7}表示的是2个链表的公共部分。原创 2023-05-08 11:28:36 · 40 阅读 · 0 评论 -
BM8 链表中倒数最后k个结点
其中蓝色部分为该链表的最后2个结点,所以返回倒数第2个结点(也即结点值为4的结点)即可,系统会打印后面所有的节点来比较。输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。数据范围:0≤n≤105,0≤i≤109,0≤k≤109。返回倒数第2个节点4,系统会打印后面所有的节点来比较。如果该链表长度小于k,请返回一个长度为 0 的链表。要求:空间复杂度 O(n),时间复杂度 O(n)进阶:空间复杂度 O(1),时间复杂度 O(n)原创 2023-05-08 10:18:12 · 49 阅读 · 0 评论 -
BM2 链表内指定区间反转
将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。给出的链表为 1→2→3→4→5→NULL1→2→3→4→5→NULL, m=2,n=4m=2,n=4,要求:时间复杂度 O(n)O(n) ,空间复杂度 O(n)O(n)返回 1→4→3→2→5→NULL1→4→3→2→5→NULL.进阶:时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)原创 2023-05-07 16:49:35 · 76 阅读 · 0 评论 -
BM1 反转链表
头插法原创 2023-05-07 15:57:27 · 58 阅读 · 0 评论 -
HJ58 输入n个整数,输出其中最小的k个
数据范围:1≤�≤1000 1≤n≤1000 ,输入的整数满足 1≤���≤10000 1≤val≤10000。原创 2023-05-06 17:14:57 · 63 阅读 · 1 评论 -
HJ9 提取不重复的整数
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。数据范围: 1≤n≤108 1≤n≤108。保证输入的整数最后一位不是 0。输入一个int型整数。原创 2023-05-05 18:25:13 · 58 阅读 · 0 评论 -
HJ7 取近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。0.5>=0.5,所以5.5需要向上取整为6。数据范围:保证输入的数字在 32 位浮点数范围内。0.499原创 2023-05-05 18:07:21 · 62 阅读 · 0 评论 -
1005. K 次取反后最大化的数组和
解释:选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。选择某个下标 i 并将 nums[i] 替换为 -nums[i]。解释:选择下标 1 ,nums 变为 [4,-2,3]。重复这个过程恰好 k 次。可以多次选择同一个下标 i。输入:nums = [3,-1,0,2], k = 3。以这种方式修改数组后,返回数组 可能的最大和。输入:nums = [4,2,3], k = 1。原创 2023-05-18 11:00:02 · 46 阅读 · 0 评论