leetcode 刷题记录,记录自己的 leetcode 解题历程。
1.两数之和:暴力法;一遍哈希表
11.盛最多容器的水:双指针
15.三数之和:排序+双指针
31.下一个排列:一遍扫描
33.搜索旋转数组:二分查找
34.在排序数组中查找元素的第一个和最后一个位置:二分搜索左右边界
39.组合总和:回溯法+剪纸
3.无重复字符的最长子串:滑动窗口算法
5.最长回文子串:动态规划;中心扩展算法
10.正则表达式匹配:动态规划
17.电话号码的字母组合:回溯算法
49.字母异位词分组:排序数组分类;字母计数分类
76.最小覆盖子串:滑动窗口算法
2.两数相加:链表构造及指针移动、模拟十进制数相加
19.删除链表的倒数第N个节点:双指针一遍扫描
23.合并K个升序链表:顺序合并(两两合并);分而治之
- 环形链表 II:哈希表;Floyd判圈算法
104.二叉树的最大深度:递归;广度优先搜索
226.翻转二叉树:深度搜索递归
96.不同的二叉搜索树:动态规划;卡塔兰数
617.合并二叉树:深度优先搜索;广度优先搜索