Skip to content

leetcode-cn 上《剑指Offer》的题解 / 学习笔记。非完全原创,参考了大量优秀题解。

License

Notifications You must be signed in to change notification settings

rsyanting/PointsToOffer

Repository files navigation

《剑指 Offer》leetcode-cn 平台题解

写在前面

这里是 dingjianhub 在 leetcode-cn 刷 《剑指 Offer》算法题的笔记。

包含了已经提交的题目的代码、笔记。有些笔记较为详细,有些较为简略。

在这些笔记中,很多内容是参考、摘录、再创作了很多 leetcode 用户和网络上的内容,在此向编写详实的笔记作者致敬。引用部分在笔记中做出了指示,再次感谢这些作者的无私奉献。

本人水平有限,在编写笔记和代码过程中难免会有错误,望读者海涵,谢谢。

本人常用的语言为 Java 语言,其他语言鲜有涉猎,如果您对其他语言熟悉,也可以提交其他语言版本的代码PR,在此表示感谢。

Tag 笔记导航

Tag 笔记导航的说明

  • 包含超链接,点击链接可以跳转到题目或者笔记。
  • 标注难度级别。

可能存在链接不对的情况,各位读者如果发现,欢迎提交 issue。谢谢。


题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 3 :数组中重复的数字 面试题 3 :数组中重复的数字 Easy 原地哈希
面试题 4 :二维数组中的查找 面试题 4 :二维数组中的查找 Easy 双指针
面试题 29 :顺时针打印矩阵 面试题 29 :顺时针打印矩阵 Easy 蛇形填数

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 6 :从尾到头打印链表 面试题 6 :从尾到头打印链表 Easy
面试题 18 :删除链表中的节点 面试题 18 :删除链表中的节点 Easy
面试题 22 :链表中倒数第K个节点 面试题 22 :链表中倒数第K个节点 Easy 快慢指针
面试题 24 :反转链表 面试题 24 :反转链表 Easy 图示;指针操作
面试题 25 :合并两个排序的链表 面试题 25 :合并两个排序的链表 Easy 归并;指针操作

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 5 :替换空格 面试题 5 :替换空格 Easy

HashMap 哈希表

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 50 :第一个只出现一次的字符 面试题 50 :第一个只出现一次的字符 Easy

Two Pointer 双指针

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 21 :调整数组顺序使奇数位于偶数前面 面试题 21 :调整数组顺序使奇数位于偶数前面 Easy 双指针

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 64 :高斯求和 面试题 64 :高斯求和 Medium 逻辑运算符短路

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 11. 旋转数组的最小数字 面试题 11. 旋转数组的最小数字 Easy 两分搜索

Recursion 递归

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 10 :斐波那契数列 面试题 10 :斐波那契数列 Easy
面试题 10 :青蛙跳台阶问题 面试题 10 :青蛙跳台阶问题 Easy

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 9 :用两个栈实现队列 面试题 9 :用两个栈实现队列 Easy
面试题 30 :包含min函数的栈 面试题 30 :包含min函数的栈 Easy 手写栈
面试题 31 :栈的压入和弹出序列 面试题 31 :栈的压入和弹出序列 Medium 模拟;图示分析

Queue 队列

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 59_1 :滑动窗口的最大值 面试题 59_1 :滑动窗口的最大值 Medium 单调队列

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 7:重建二叉树 面试题 7:重建二叉树 Medium
面试题 26 :树的子结构 面试题 26 :树的子结构 Medium 代码鲁棒性
面试题 27 :二叉树的镜像 面试题 27 :二叉树的镜像 Easy 简单递归
面试题 28 : 对称的二叉树 面试题 28 : 对称的二叉树 Easy BFS / DFS
面试题 32_I :从上到下打印二叉树 面试题 32_I :从上到下打印二叉树 Easy 简单;经典BFS
面试题 32_2 :从上到下打印二叉树 面试题 32_2 :从上到下打印二叉树 Easy 简单;经典BFS
面试题 32_3 :从上到下打印二叉树3 面试题 32_3 :从上到下打印二叉树3 Easy 简单;经典BFS
面试题 34 :二叉树中和为某一值的路径 面试题 34 :二叉树中和为某一值的路径 Medium 简单 DFS
面试题 54 :二叉搜索树的第 K 大节点 面试题 54 :二叉搜索树的第 K 大节点 Easy DFS
面试题 55-1 :二叉树的最大深度 面试题 55-1 :二叉树的最大深度 Easy 递归;维护值
面试题 55_2 :平衡二叉树 面试题 55_2 :平衡二叉树 Easy DFS

Dynamic Programming 动态规划

题目名(点击跳转题目) 笔记链接(点击跳转链接) 难度评级 关键词
面试题 42 :连续子数组的最大和 面试题 42 :连续子数组的最大和 Easy 前缀和
面试题 46 :把数字翻译成字符串 面试题 46 :把数字翻译成字符串 Medium 经典dp[]
面试题 47 :礼物的最大价值 面试题 47 :礼物的最大价值 Easy 贪心算法

专题训练 & 总结

二分查找


优秀个人题解 站点 List

labuladong 的算法小抄

笔记 URL :https://labuladong.gitbook.io/algo/

非常实用主义的笔记,首先关注整体框架,理清思路,选择性忽略细节。

刷题向笔记,作者写道:“非 ACM,野路子出身。大部分人学习算法和数据结构,就是为了刷题,巩固计算机知识。别死磕 数学 和 证明。”

liweiwei1419 的 算法与数据结构入门教程

笔记 URL :https://liweiwei1419.gitee.io/leetcode-algo/#indexCard

About

leetcode-cn 上《剑指Offer》的题解 / 学习笔记。非完全原创,参考了大量优秀题解。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published