高频算法题整理

141 阅读2分钟

栈和队列

  • LC115 获取最小的栈
  • LC20 有效的括号
  • LC232 用两个栈实现队列

滑动窗口:

  • LC3 无重复字符的最长子串

双指针:

  • LC26 删除数组中的重复数字
  • LC42 接雨水
  • LC11 盛最多水的容器
  • LC15 三数之和
  • LC18 四数之和

链表:

  • LC2 两数相加
  • LC21 合并两个有序链表
  • LC160 相交链表
  • LC25 K个一组翻转链表
  • LC19 删除链表中倒数第n个链表
  • LC141 判断链表是否有环
  • LC142 找到链表中相交的环的节点
  • LC234 判断是否是回文链表
  • LC81 删除链表中的重复数字
  • LC82 删除链表中的重复数字
  • LC92 反转m到n位置的链表
  • LC234 回文链表
  • JZ06 从头到尾打印链表

树:

  • LC101 对称的二叉树
  • LC114 二叉树转化为链表
  • LC116 填充每一个节点的下一个右侧指针
  • LC124 二叉树的最大路径和
  • LC144 二叉树的前序遍历
  • LC145 二叉树的后序遍历
  • LC119 二叉树的右视图
  • LC230 二叉搜索树的中第K小个节点
  • JZ54 二叉搜索树的第K大个节点
  • JZ33 二叉搜索树的后序遍历
  • JZ34 二叉树中和为某一值的路径
  • JZ68 二叉搜索树的最近公共祖先
  • LC662 二叉树的最大宽度

回溯:

  • LC47 全排列
  • LC200 岛屿数量

BFS:

动态规划:

  • LC5 最长回文子串
  • LC53 最大的子序列和
  • LC516 最长回文子序列
  • LC121、122、123股票系列问题

排序算法: