johnsonkee / LeetCode

My own leetcode solutions by python(使用python刷LeetCode算法题)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LeetCode

使用python3编写"LeetCode"所有算法

Leetcode上一千多道题目,本文参考前辈们整理的文档,精选了大概200左右的题目, 同时按类别进行了整理。其中./other/examination文件下记录了笔者所遇到的一些笔试题,有部分题目不完整,后续会继续完善。

所有题目的名称全部列在了leetCode/README.md文件中,方便全局检索(Ctrl+F).

1.两数之和

2.两数相加

3.无重复字符的最长子串

4.寻找两个有序数组的中位数

5.最长回文子串

6.Z 字形变换

7.整数反转

8.字符串转换整数 (atoi)

09.回文数

10.正则表达式匹配

11.盛最多水的容器

12.整数转罗马数字

13.罗马数字转整数

14.最长公共前缀

15.三数之和

16.最接近的三数之和

17.电话号码的字母组合

18.四数之和

19.删除链表的倒数第N个节点

20.有效的括号

70.爬楼梯

120.三角形最小路径和

53.最大子序和

动态规划进阶(与矩阵相关)

62.不同路径

63.不同路径II

64.最小路径和

221.最大正方形

动态规划在进阶(序列类动态规划问题)

300.最长上升子序列

256.粉刷房子

256.粉刷房子II

198.打家劫舍

213.打家劫舍II

26.删除排序数组中的重复项

27.移除元素

31.下一个排列

33.搜索旋转排序数组

34.在排序数组中查找元素的第一个和最后一个位置

35.搜索插入位置

39.组合总和

40.组合总和 II

48.旋转图像

54.螺旋矩阵

283.移动零

566.重塑矩阵

485.最大连续1的个数

240.搜索二维矩阵 II

378.有序矩阵中第K小的元素

645.错误的集合

287.寻找重复数

697.数组的度

766.托普利茨矩阵

565.数组嵌套

769.最多能完成排序的块

22.括号生成

160.相交链表

206.反转链表

21.合并两个有序链表

83.删除排序链表中的重复元素

19.删除链表的倒数第N个节点

24.两两交换链表中的节点

234.回文链表

445.两数相加 II

725.分隔链表

328.奇偶链表

递归

104.二叉树的最大深度

110.平衡二叉树

226.翻转二叉树

617.合并二叉树

112.路径总和

437.路径总和 III

572.另一个树的子树

101.对称二叉树

111.二叉树的最小深度

404.左叶子之和

687.最长同值路径

337.打家劫舍 III

671.二叉树中第二小的节点

层次遍历

637.二叉树的层平均值

513.找树左下角的值

二叉查找树(BST)

669.修剪二叉搜索树

230.二叉搜索树中第K小的元素

538.把二叉搜索树转换为累加树

235.二叉搜索树的最近公共祖先

236.二叉树的最近公共祖先

108.将有序数组转换为二叉搜索树

109.有序链表转换二叉搜索树

653.两数之和 IV - 输入 BST

530.二叉搜索树的最小绝对差

trie 树

208.实现 Trie (前缀树)

232.用栈实现队列

225.用队列实现栈

155.最小栈

20.有效的括号

739.数组中元素与下一个比它大的元素之间的距离(每日温度)

503.下一个更大元素 II

22.括号生成

242.有效的字母异位词

409.最长回文串

205.同构字符串

647.回文子串

9.回文数

696.计数二进制子串

461.汉明距离

136.只出现一次的数字

268.缺失数字

260.只出现一次的数字 III

190.颠倒二进制位

231.2的幂

342.4的幂

693.交替位二进制数

476.数字的补数

371.两整数之和

318.最大单词长度乘积

167.两数之和 II - 输入有序数组

633.平方数之和

345.反转字符串中的元音字母

680.验证回文字符串 Ⅱ

88.合并两个有序数组

141.环形链表

524.通过删除字母匹配到字典里最长单词

215.数组中的第K个最大元素

347.前 K 个高频元素

451.根据字符出现频率排序

75.颜色分类(荷兰国旗)

455.分发饼干

435.无重叠区间

452.用最少数量的箭引爆气球

406.根据身高重建队列

121.买卖股票的最佳时机

122.买卖股票的最佳时机 II

605.种花问题

392.判断子序列

665.非递减数列

53.最大子序和

763.划分字母区间

69.x 的平方根

744.寻找比目标字母大的最小字母

540.有序数组中的单一元素

278.第一个错误的版本

153.寻找旋转排序数组中的最小值

34.在排序数组中查找元素的第一个和最后一个位置

241.为运算表达式设计优先级

95.不同的二叉搜索树 II

最大公约数与最小公倍数

204.计数质数

求两个树的最大公约数

最小公倍数

使用位操作和减法求解最大公约数

进制转换

504.七进制数

405.数字转换为十六进制数

阶乘

172.阶乘后的零

字符串加减法

67.二进制求和

415.字符串相加

462.最少移动次数使数组元素相等 II

多数投票问题

169.多数元素

367.有效的完全平方数

3326.3的幂

238.除自身以外数组的乘积

628.三个数的最大乘积

常见算法

统计完全二叉树的节点数

深度优先广度优先遍历

迪杰斯克拉算法

快排,归并,堆排

二叉树的创建,先序/中序/后序 遍历

一些测试题

参考文章

cyc2018

About

My own leetcode solutions by python(使用python刷LeetCode算法题)


Languages

Language:Python 100.0%