目录

  • 写在前面

  • 学习指南

  • 开篇——复杂度

  • 字符串

    • 翻转整数、有效的字母异位词和翻转整数

    • 报数、反转字符串和字符串中的第一个唯一字符

    • 验证回文字符串、实现 strStr() 、最长公共前缀和最长回文子串

  • 数学

    • 罗马数字转整数、Fizz Buzz和计数质数

    • 3的幂、Excel表列序号、快乐数和阶乘后的零

    • Pow(x, n)、两数相除、分数到小数和x的平方根

  • 数组

    • 旋转数组、只出现一次的数字、两数之和、旋转图像

    • 从排序数组中删除重复项、加一、买股票的最佳时机和移动零

    • 两个数组的交集、一周中的第几天、有效的数独、除资深以外数组的乘积和存在重复元素

    • 字谜分组、三数之和、无重复字符的最长子串、矩阵置零和递增的三元子序列

  • 链表

    • 回文链表、环形链表、删除链表中的节点

    • 反转链表、删除链表的倒数第N个节点、合并两个有序链表和两数相加

    • 排序链表、相交链表和奇偶链表

  • 二叉树

    • 最小栈、Shuffle an Array和将有序数组转换为二叉搜索树

    • 对称二叉树、二叉树的最大深度和验证二叉搜索树

    • 二叉树的层次遍历、二叉树的序列化与反序列化和常数时间内插入删除、获得随机数

    • 中序遍历二叉树、从前序与中序遍历序列构造二叉树和二叉搜索树中第 K 小的元素

    • 填充每个节点的下一个右侧节点指针、岛屿数量和二叉树的锯齿形层次遍历

  • 动态规划

    • 最大子序和、爬楼梯和买卖股票的最佳时机

    • 打家劫舍、零钱兑换和跳跃游戏

    • 不同路径、Longest Increasing Subsequence和单词拆分

  • 回溯算法

    • 括号生成、子集和电话号码的字母组合

    • 实现数组的全排列和单词搜索

  • 排序与搜索

    • 合并两个有序数组、第一个错误的版本和搜索旋转排序数组

    • 在排序数组中查找元素的第一个和最后一个位置、数组中的第K个最大元素和颜色分类

    • 前 K 个高频元素、寻找峰值和合并区间

    • 搜索二维矩阵 II和计算右侧小于当前元素的个数

  • 栈和队列

    • 汉明距离、位 1 的个数、缺失数字

    • 有效的括号、帕斯卡三角形和颠倒二进制位

    • 两整数之和、数据流的中位数和逆波兰表达式

    • Task Sheduler、有序矩阵中第K小的元素和多数元素

  • 结束篇