剑指中有关于数据结构的题目,如链表、栈和队列等。我们实现的这些数据结构:包括顺序栈 、带头节点的单链表 、不带头节点的单链表 、不带头结点的单向循环链表 、循环队列 、双端队列 等,我们将其放在本项目单独的文件夹Data Struct中,当然也有单独的项目专门用来存储这些数据结构。
题目按照题型整理分类如下:
ID
Title
3-1
数组中重复的数字
C
C++
3-2
不修改数组找出重复的数字
C
C++
4
二维数组中的查找
C
C++
10
斐波那契数列
C
C++
11
旋转数组的最小数字
C
C++
21
调整数组顺序使奇数位于偶数前面
C
C++
29
顺时针打印矩阵
C
C++
39
数组中出现次数超过一半的数字
C
C++
40
最小的k个数
C
C++
42
连续子数组的最大和
C
C++
45
把数组排成最小的数
C
C++
51
数组中的逆序对
C
C++
53-1
在排序数组中查找数字
C
C++
53-2
0到n-1中缺失的数字
C
C++
53-3
数组中数值和下标相等的元素
C
C++
56-1
数组中只出现一次的两个数字
C
C++
56-2
数组中唯一只出现一次的数字
C
C++
57-1
和为s的两个数字
C
C++
57-2
和为s的连续正数序列
C
C++
66
构建乘积数组
C
C++
ID
Title
5
替换空格
C
C++
19
正则表达式匹配
C
C++
20
表示数值的字符串
C
C++
38-1
字符串的排列
C
C++
38-2
字符串的组合
C
C++
48
最长不含重复字符的子字符串
C
C++
50-1
第一个只出现一次的字符
C
C++
50-2
删除第二个字符串的所有字符
C
C++
50-3
删除字符串中所有重复的字符
C
C++
50-4
判断变位词
C
C++
58-1
翻转单词顺序
C
C++
58-2
左旋转字符串
C
C++
67
把字符串转换成整数
C
C++
ID
Title
6
从尾到头打印链表
C
C++
18-1
删除链表的节点
C
C++
18-2
删除链表中的重复节点
C
C++
22
链表中倒数第k个节点
C
C++
23
链表中环的入口节点
C
C++
24
反转链表
C
C++
25
合并两个排序的链表
C
C++
35
复杂链表的复制
C
C++
52
两个链表的第一个公共节点
C
C++
62
圆圈中最后剩下的数字
C
C++
ID
Title
9-1
用两个栈实现队列
C
C++
9-2
用两个队列实现栈
C
C++
30
包含min函数的栈
C
C++
31
栈的压入、弹出序列
C
C++
59-1
滑动窗口的最大值
C
C++
59-2
队列的最大值
C
C++
ID
Title
15
二进制中1的个数
C
C++
16
数值的整数次方
C
C++
17
打印从1到最大的n位数
C
C++
43
1~n整数中1出现的次数
C
C++
44
数字序列中某一位的数字
C
C++
46
把数字翻译成字符串
C
C++
49
丑数
C
C++
61
扑克牌中的顺子
C
C++
63
股票的最大利润
C
C++
64
求1+2+…+n
C
C++
65
不用加减乘除做加法
C
C++
ID
Title
12
矩阵中的路径
C
C++
13
机器人的运动范围
C
C++
动态规划(Dynamic Programming)
ID
Title
14
剪绳子
C
C++
47
礼物的最大价值
C
C++
60
n个骰子的点数
C
C++