面试高频算法
反转链表 (简单, 字节跳动 +59)
排序 (中等, 字节跳动 +34)
设计LRU缓存结构 (中等, 字节跳动 +34)
实现二叉树先序,中序和后序遍历 (中等, 字节跳动 +35)
最小的K个数 (中等, 腾讯 +35)
求二叉树的层序遍历 (中等, 字节跳动 +25)
寻找第K大 (中等, 字节跳动 +23)
两数之和 (简单, 字节跳动 +25)
合并有序链表 (简单, 字节跳动 +26)
用两个栈实现队列 (简单, 字节跳动 +27)
跳台阶 (简单, 字节跳动 +22)
链表中的节点每k个一组翻转 (中等, 字节跳动 +14)
子数组的最大累加和问题 (简单, 字节跳动 +23)
最长无重复子数组 (中等, 字节跳动 +13)
判断链表中是否有环 (简单, 字节跳动 +43)
合并两个有序的数组 (简单, 字节跳动 +21)
链表中环的入口结点 (中等, 字节跳动 +21)
括号序列 (简单, 字节跳动 +20)
删除链表的倒数第n个节点 (中等, 字节跳动 +17)
大数加法 (中等, 字节跳动 +16)
按之字形顺序打印二叉树 (简单, 字节跳动 +14)
最长公共子串 (中等, 字节跳动 +18)
两个链表的第一个公共结点 (简单, 字节跳动 +14)
链表相加 (中等, 字节跳动 +15)
在二叉树中找到两个节点的最近公共祖先 (中等, 字节跳动 +19)
反转字符串 (入门, 腾讯 +20)
螺旋矩阵 (入门, 字节跳动 +10)
斐波那契数列 (入门, 华为 +20)
最长回文子串 (中等, 字节跳动 +17)
数组中相加和为0的三元组 (中等, 字节跳动 +11)
重建二叉树 (中等, 字节跳动 +18)
最长递增子序列 (中等, 字节跳动 +12)
求平方根 (简单, 字节跳动 +12)
在旋转过的有序数组中寻找目标值 (简单, 字节跳动 +2)
包含min函数的栈 (简单, 字节跳动 +11)
股票(一次交易) (简单, 字节跳动 +10)
合并k个有序链表 (较难, 字节跳动 +11)
字符串的排列 (较难, 字节跳动 +10)
接雨水问题 (较难, 字节跳动 +7)
输出二叉树的右视图 (中等, 字节跳动 +10)
岛屿数量 (中等, 字节跳动 +15)
二叉树的最大深度 (简单, 字节跳动 +13)
判断回文 (入门, 腾讯 +13)
链表排序 (简单, 腾讯 +11)
平衡二叉树 (简单, 字节跳动 +10)
数组中出现次数超过一半的数字 (简单, 字节跳动 +13)
矩阵的最小路径和 (中等, 字节跳动 +11)
表达式求值 (中等, 华为 +14)
字符串出现次数的TopK问题 (中等, 腾讯 +15)
进制转换 (简单, 腾讯 +11)
判断一个链表是否为回文结构 (简单, 腾讯 +8)
最小编辑代价 (较难, 字节跳动 +9)
二叉树根节点到叶子节点的所有路径和 (中等, 字节跳动 +6)
二叉树和为指定值的路径 (中等, 字节跳动 +8)
链表内指定区间反转 (中等, 字节跳动 +7)
求路径 (简单, 字节跳动 +9)
合并区间 (中等, 字节跳动 +8)
最长公共子序列-II (中等, 字节跳动 +10)
在两个长度相等的排序数组中找到上中位数 (较难, 腾讯 +6)
判断一棵二叉树是否为搜索二叉树和完全二叉树 (中等, 字节跳动 +8)
删除有序链表中重复的元素-II (中等, 快手 +8)
将字符串转化为整数 (较难, 字节跳动 +9)
反转数字 (简单, 跟谁学 +9)
矩阵元素查找 (中等, 微软 +10)
数组中未出现的最小正整数 (中等, 字节跳动 +6)
缺失数字 (入门, 字节跳动 +6)
链表的奇偶重排 (中等, 字节跳动 +6)
二叉树的最大路径和 (较难, 字节跳动 +8)
判断二叉树是否对称 (简单, 百度 +10)
括号生成 (中等, 字节跳动 +7)
顺时针旋转矩阵 (中等, 微软 +8)
数字字符串转化成IP地址 (中等, 快手 +5)
LFU缓存结构设计 (较难, 腾讯 +9)
重排链表 (中等, 字节跳动 +6)
删除有序链表中重复的元素-I (简单, 字节跳动 +7)
有重复项数字的所有排列 (中等, 字节跳动 +10)
滑动窗口的最大值 (较难, 腾讯 +10)
二叉树中是否存在节点和为指定值的路径 (简单, 字节跳动 +5)
加起来和为目标值的组合 (中等, 字节跳动 +8)
最长的括号子串 (较难, 字节跳动 +7)
最长公共前缀 (简单, 字节跳动 +7)
回文数字 (简单, 网易 +7)
二分查找-II (中等, 腾讯 +12)
丢棋子问题 (中等, 腾讯 +9)
序列化二叉树 (较难, 字节跳动 +5)
二叉搜索树的第k个结点 (简单, shopee +7)
字符串变形 (简单, 字节跳动 +5)
最长连续子序列 (较难, 字节跳动 +8)
环形链表的约瑟夫问题 (中等, 字节跳动 +6)
树的直径 (较难, 字节跳动 +3)
最大数 (中等, 腾讯 +7)
验证IP地址 (中等, 字节跳动 +7)
大数乘法 (中等, 字节跳动 +6)
集合的所有子集 (中等, 腾讯 +4)
没有重复项数字的所有排列 (中等, 字节跳动 +4)
链表中倒数最后k个结点 (中等, 字节跳动 +7)
换钱的最少货币数 (简单, 字节跳动 +6)
寻找峰值 (入门, 字节跳动 +4)
最小覆盖子串 (较难, 字节跳动 +4)
二维数组中的查找 (中等, 字节跳动 +3)
数组中的逆序对 (中等, shopee +5)
二进制中1的个数 (中等, 百度 +6)
最大正方形 (中等, 百度 +5)
旋转数组 (入门, 字节跳动 +5)
正则表达式匹配 (较难, 字节跳动 +4)
随时找到数据流的中位数 (中等, 字节跳动 +5)
N皇后问题 (较难, 携程 +4)
字典树的实现 (中等, 腾讯 +5)
把二叉树打印成多行 (中等, 百度 +4)
子数组最大乘积 (中等, 深信服 +5)
把数字翻译成字符串 (中等, 快手 +4)
股票(无限次交易) (简单, 字节跳动 +2)
通配符匹配 (较难, 字节跳动 +3)
二叉树的镜像 (简单, 字节跳动 +4)
调整数组顺序使奇数位于偶数前面 (中等, 小米 +2)
判断t1树中是否有与t2树拓扑结构完全相同的子树 (简单, 字节跳动 +3)
合并二叉树 (简单, 百度 +4)
股票交易的最大收益(二) (中等, 字节跳动 +2)
矩阵最长递增路径 (中等, 字节跳动 +3)
矩阵乘法 (中等, 中兴 +3)
二叉搜索树与双向链表 (中等, 字节跳动 +2)
阶乘末尾0的数量 (中等, 腾讯 +2)
找到搜索二叉树中两个错误的节点 (简单, 快手 +1)
最长重复子串 (中等, 百度 +4)
不相邻最大子序列和 (中等, 腾讯 +3)
有序数组转化为二叉平衡树 (简单, 百度 +2)
数独 (较难, 腾讯 +2)
扑克牌顺子 (简单, 字节跳动 +4)
第一个只出现一次的字符 (简单, 北森 +4)
孩子们的游戏 (中等, 作业帮 +1)
旋转数组的最小数字 (简单, 百度 +2)
数字在升序数组中出现的次数 (简单, 美团 +4)
丑数 (中等, 字节跳动 +2)
完全二叉树结点数 (中等, 腾讯 +2)
未排序数组中累加和为给定值的最长子数组长度 (简单, 快手 +3)
分糖果问题 (中等, 字节跳动 +1)
比较版本号 (中等, 小米 +4)
kmp算法 (中等, 字节跳动 +6)
最小生成树 (中等, 字节跳动 +1)
划分链表 (中等, 小米 +2)
数组中只出现一次的两个数字 (中等, 腾讯 +3)
三个数的最大乘积 (简单, 腾讯 +2)
旋转字符串 (简单, 微软 +1)
栈和排序 (中等, 美团 +1)
01背包 (简单, 阿里 +1)
最大公约数 (入门, 腾讯 +2)
数组中只出现一次的数(其它数出现k次) (简单, 腾讯 +6)
汉诺塔问题 (中等, )
拼接所有的字符串产生字典序最小的字符串 (中等, )
二分查找-I (简单, )
二叉树的中序遍历 (中等, 字节跳动 +1)
主持人调度 (中等, 字节跳动 +1)
几步可以从头跳到尾 (简单, )
二叉树的个数 (中等, )
数的划分 (中等, )
信封嵌套问题 (中等, )
最长回文子序列 (中等, )
牛牛的数列 (简单, )
单调栈 (中等, 字节跳动 +1)
单源最短路 (中等, 腾讯 +1)
题目来自牛客网,解题为原创