使用 Swift 语言实现数据结构与算法之美专栏代码 ,在原有基础上扩增了一些内容,并增加 LeetCode 题解,原始代码 https://github.com/wangzheng0822/algo
源代码在第一级目录所对应的文件夹下,测试工程以及测试代码在 Algorithm 目录下,可以直接使用 Xcode 打开工程文件 Algorithm.xcodeproj,选择对应的 Target 运行测试代码
- 实现单链表、循环链表、双向链表,支持增删操作
- 实现单链表反转
- 实现两个有序的链表合并为一个有序链表
- 实现求链表的中间结点
- 实现求链表的倒数第K个结点(快慢指针)
- 判断链表是否有环
- 链表有环的话,求链表环的入口位置
- 实现朴素的字符串匹配算法
- 实现BM算法
- 实现KMP算法
- 实现一个字符集,只包含a~z这26个英文字母的Trie树
- 分糖果、钱币找零、区间覆盖
- 霍夫曼编码问题
- 非负整数中,移除K个数字,让剩下的数字值最小
- n个人等待服务问题,如何安排被服务的先后顺序,使 n 个人总的等待时间最短
