以下都为面试算法题值得刷的题,需要理解并记住解题思路,反复练习,熟练记住每个步骤。这些题的题解几乎都是3k数以上题解数的题。
-
数组
两数之和
加一
删除有序数组中的重复项
二分查找
最长连续递增序列
合并排序的数组
数组中的第K个最大元素
前 K 个高频元素
-
字符串
反转字符串
反转字符串中的单词
最长公共前缀
找出字符串中第一个匹配项的下标
罗马数字转整数
无重复字符的最长子串
最长回文子串
字符串转换整数 (atoi)
-
链表
反转链表
反转链表 II
环形链表
环形链表 II
回文链表
二进制链表转整数
合并两个有序链表
删除链表的倒数第 N 个结点
相交链表
两数相加
两两交换链表中的节点
旋转链表
-
堆栈、队列
用两个栈实现队列
用队列实现栈
有效的括号
接雨水
-
树
二叉树的最大深度
二叉树的最小深度
翻转二叉树
合并二叉树
对称二叉树
相同的树
二叉树的前序遍历
二叉树的层序遍历
二叉树的最近公共祖先
-
双指针
验证回文串
在排序数组中查找元素的第一个和最后一个位置
三数之和
颜色分类
无重复字符的最长子串
长度最小的子数组
-
数学
回文数
x 的平方根
整数反转
二进制求和
约瑟夫环
-
动态规划
斐波那契数
爬楼梯
最大子数组和
最长递增子序列
零钱兑换
打家劫舍
不同路径
-
贪心算法
买卖股票的最佳时机
买卖股票的最佳时机 II
跳跃游戏
-
回溯/DFS