复杂度的OJ题
数组相关
基础:顺序表的构建和接口实现
顺序表的初始化、增容、尾插、尾删、头插、头删、查找、在pos位置插入、删除pos位置的值、销毁、打印
3.原地移除数组中所有的元素val
4.删除排序数组中的重复项
5.合并两个有序数组
链表相关
基础:链表的构建和接口实现
无头单向非循环链表接口的实现:动态申请一个节点、头插、头删、尾插、尾删、查找、在pos位置后插入、删除pos位置后的值
6.删除链表中等于给定值 val 的所有节点
7.反转一个单链表
8.链表的中间节点
9.链表中倒数第K个节点
10.合并两个有序链表
11.链表分割
12.链表的回文结构
13.相交链表
14.环形链表
15.环形链表Ⅱ
16.复制带随机指针的链表
栈和队列相关
基础:栈和队列的构建及接口实现
栈的初始化、入栈、出栈、获取栈顶元素、获取栈中有效元素的个数、判断是否为空栈、销毁栈
队列的初始化、入队、出队、获取队列头部元素、尾部元素、有效元素个数、判断队列是否为空、销毁队列
17.有效的括号
18.用队列实现栈
19.用栈实现队列
20.设计循环队列
二叉树初级
基础:二叉树的构建与接口实现
堆的创建、销毁、取堆顶数据、取堆的个数、堆的判空、向下调整算法、插入、删除
二叉树的创建、销毁、判断是否为完全二叉树、前序、中序、后序、层序遍历、节点个数、叶子节点个数、第k层节点个数、查找值为k的节点
21.单值二叉树
22.相同的树
23.对称二叉树
24.二叉树的前序遍历
25.二叉树的中序遍历
26.二叉树的后序遍历
27.另一颗树的子树
28.读入一个字符串,建立二叉树,中序遍历打印
二叉搜索树
二叉树创建字符串
二叉树的分层遍历1
二叉树的分层遍历2
二叉树搜索树转换成排序双向链表
通过二叉树的前序和中序遍历构造二叉树
通过二叉树的中序和后序遍历构造二叉树
二叉树的前序遍历,非递归迭代实现
二叉树的中序遍历,非递归迭代实现
二叉树的后序遍历,非递归迭代实现
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先
排序算法
基础:
八大排序算法
直接插入排序、希尔排序
选择排序、堆排序
冒泡排序、快速排序
归并排序
计数排序
cpp中类和对象的OJ
29.求n的和
30.计算日期到天数的转换
31.日期差值
32.打印日期
33.累加天数
string类
34.仅仅反转字母
35.找字符串中第一个只出现一次的字符
36.字符串里面最后一个单词的长度
37.验证一个字符串是否是回文
38.字符串相加
39.翻转字符串
40.翻转字符串Ⅱ
41.字符串相乘
42.字符串转整形数字
vector类
43.只出现一次的数字
44.杨辉三角
45.删除排序数组中的重复项
46.只出现一次的数ii
47.只出现一次的数iii
48.数组中出现次数超过一半的数字
49.电话号码字母组合