leetcode算法总结 —— HOT 100整理
其他
2021-04-03 16:41:57
阅读次数: 0
easy
-
- 汉明距离(位运算a^b, n=n&(n-1))
-
- 合并二叉树(前序遍历判断并构造,返回构造后的树)
-
- 翻转二叉树(前序遍历:每个节点都交换左右子树)
-
- 二叉树的最大深度(dfs向上返回深度,bfs记录深度)
-
- 二叉树的直径(求最大深度)
-
- 反转链表(方法一:迭代,方法二:递归)
-
- 合并两个有序链表
-
- 只出现一次的数字(位运算)
-
- 多数元素(摩尔投票法)
-
- 对称二叉树(dfs和BFS)
-
- 回文链表(使用快慢指针,快指针走两步,慢指针走一步,慢指针并反转前半部分链表)
-
- 环形链表(快慢指针,扣圈)
-
- 买卖股票的最佳时机(dp,然后优化一下空间)
-
- 相交链表(双指针,走完自己链表走另一个链表)
-
- 移动零(一个读指针,一个写指针,非0的写)
-
- 找到所有数组中消失的数字(原数组操作对index标记)
-
- 最小栈(辅助栈)
-
- 两数之和(map)
-
- 爬楼梯(简单dp)
-
- 有效的括号(辅助栈)
-
- 最大子序和(DP)
mid
-
- 比特位计数(位运算)
-
- 二叉树展开为链表(dfs或者直接遍历)
-
- 全排列(回溯)
-
- 两数相加(注意进位和判断链表为空)
-
- 无重复字符的最长子串(滑动窗口+set判断)
-
- 寻找两个正序数组的中位数(方法一:两路归并找中位数,方法二:待研究)
-
- 三数之和(两个排序数组之和思想)
-
- 二叉树的序列化与反序列化
-
- 滑动窗口最大值(单调队列,插入删除和取最大值都是O(1))
hard
转载自blog.csdn.net/chongbin007/article/details/115146518