首页 > 代码库 > 算法和数据结构基础题集(持续更新中)

算法和数据结构基础题集(持续更新中)



注意一题多解,举一反三,从普通算法到最优算法

1.判断一个字符串中的字符是否唯一(即没有重复),不能使用额外的数据结构(使用基本的数据结构)

2.反转一个字符串

3.去掉字符串中的重复字符,不能使用额外的缓存空间

4.判断两个字符串是否是变位词(两个单词字符相同,但是位置不同的单词)

5.写一函数,把字符串的空格替换为%20

6.判断字符串是否是另一个字符串的字串

7.从一个未排序的链表去除重复的项,不允许使用临时的缓存

8.从一个单链表中返回倒数第k个元素

9.删除链表中的给定节点

10.找出一个循环链表中环的第一个节点

11.使用两个栈来实现一个队列

12.将一个栈按升序排列,可用辅助栈

13.判断一棵树是否平衡; 求一颗二叉树的深度

14.判断有向图两节点之间是否存在路径(DFS BFS

15.查找中序排列的二叉查找树的下一个节点(分类讨论)

16.一个二叉树中两个节点的第一个公共共同祖先

17.判断一颗二叉树是否是另一颗二叉树的子树

18.输出二叉树路径上节点值之和等于给定值的所有路径

19.求二叉树的最大距离(即相距最远的两个叶子节点)

20.给定一个整数x,找出两外两个整数,二进制表示中1的个数相同,其中一个是比x大的数中最小的,另一个是比x小的数中最大的

21.两个二进制表示的数,从一个数转换到另一个数需要改变的位数

算法和数据结构基础题集(持续更新中)