简介

此笔记为我在 leetcode 上的《剑指offer》专题刷题时的笔记整理。

在刷题时我尝试了 leetcode 上热门题解中的多种方法,这些不同方法的实现都列在了笔记中。

leetcode上的《剑指offer》专题的链接如下:剑指 Offer(第 2 版)-力扣

下面名字后标 ★ 的题目是我在整理时认为需要重点掌握与复习的题目。未标星的题目并非不重要,而是相对简单,不需要再额外进行重点复习。

目录

03. 数组中重复的数字

04. 二维数组中的查找

05. 替换空格

06. 从尾到头打印链表

07. 重建二叉树 ★

09. 用两个栈实现队列 ★

10-I. 斐波那契数列 ★

10-II. 青蛙跳台阶问题

11. 旋转数组的最小数字 ★

12. 矩阵中的路径

13. 机器人的运动范围 ★

14- I. 剪绳子 ★

14- II. 剪绳子 II ★

15. 二进制中1的个数

16. 数值的整数次方 ★

17. 打印从1到最大的n位数

18. 删除链表的节点

19. 正则表达式匹配 ★

20. 表示数值的字符串 ★

21. 调整数组顺序使奇数位于偶数前面 ★

22. 链表中倒数第k个节点

24. 反转链表 ★

25. 合并两个排序的链表 ★

26. 树的子结构 ★

27. 二叉树的镜像 ★

28. 对称的二叉树

29. 顺时针打印矩阵 ★

30. 包含min函数的栈 ★

31. 栈的压入、弹出序列

32 - I. 从上到下打印二叉树 ★

32 - II. 从上到下打印二叉树

32 - III. 从上到下打印二叉树 III

33. 二叉搜索树的后序遍历序列 ★

34. 二叉树中和为某一值的路径 ★

35. 复杂链表的复制 ★

36. 二叉搜索树与双向链表 ★

37. 序列化二叉树 ★

38. 字符串的排列 ★

39. 数组中出现次数超过一半的数字 ★

40. 最小的k个数 ★

41. 数据流中的中位数 ★

42. 连续子数组的最大和 ★

43. 1~n整数中1出现的次数 ★

44. 数字序列中某一位的数字 ★

45. 把数组排成最小的数 ★

46. 把数字翻译成字符串 ★

47. 礼物的最大价值 ★

48. 最长不含重复字符的子字符串

49. 丑数

50. 第一个只出现一次的字符

51. 数组中的逆序对 ★

52. 两个链表的第一个公共节点 ★

53 - I. 在排序数组中查找数字 I ★

53 - II. 0~n-1中缺失的数字 ★

54. 二叉搜索树的第k大节点

55 - I. 二叉树的深度

55 - II. 平衡二叉树

56 - I. 数组中数字出现的次数 ★

56 - II. 数组中数字出现的次数 II ★

57 - I. 和为s的两个数字

57 - II. 和为s的连续正数序列

58 - I. 翻转单词顺序

58 - II. 左旋转字符串

59 - I. 滑动窗口的最大值

59 - II. 队列的最大值

60. n个骰子的点数

61. 扑克牌中的顺子

62. 圆圈中最后剩下的数字

63. 股票的最大利润

64. 求1+2+…+n ★

65. 不用加减乘除做加法

66. 构建乘积数组

67. 把字符串转换成整数

68 - I. 二叉搜索树的最近公共祖先

68 - II. 二叉树的最近公共祖先

《剑指offer》刷题笔记的更多相关文章

  1. 剑指offer刷题笔记

    删除链表中重复的结点:较难 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4- ...

  2. 剑指offer刷题(Tree)

    开篇 二刷剑指offer了,本来用Tyora记的笔记,发现字数到四万了就变得好卡o(╥﹏╥)o,刚好开始写博客,就转过来吧,记下来子自己看.不废话,开刷... JZ26. 树的子结构 输入两棵二叉树A ...

  3. 剑指offer刷题

    1.面试题43. 1-n整数中1出现的次数 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次 ...

  4. 牛客网剑指offer刷题总结

    二维数组中的查找: 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 两 ...

  5. LeetCode剑指Offer刷题总结(一)

    LeetCode过程中值得反思的细节 以下题号均指LeetCode剑指offer题库中的题号 本文章将每周定期更新,当内容达到10题左右时将会开下一节. 二维数组越界问题04 public stati ...

  6. 剑指offer ------ 刷题总结

    面试题3 -- 搜索二维矩阵 写出一个高效的算法来搜索 m × n矩阵中的值. 这个矩阵具有以下特性: 1. 每行中的整数从左到右是排序的. 2. 每行的第一个数大于上一行的最后一个整数. publi ...

  7. 剑指offer刷题记录

    目录 二维数组中的查找 替换空格 从尾到头打印链表 反转链表 重建二叉树 用两个栈实现队列 旋转数组的最小数字 斐波拉切数列 跳台阶 变态跳台阶 矩形覆盖 二进制中1的个数 数值的整次方 链表中倒数第 ...

  8. 剑指offer刷题总结

    ★ 二维数组的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否 ...

  9. 剑指offer刷题(算法类_2)

    排序 035-数组中的逆序对(归并排序) 题目描述 题解 代码 复杂度 029-最小的K个数(堆排序) 题目描述 题解 代码 复杂度 029-最小的K个数(快速排序) 题目描述 题解 代码 复杂度 位 ...

  10. 剑指offer刷题(算法类_1)

    斐波那契数列 007-斐波拉契数列 题目描述 题解 代码 复杂度 008-跳台阶 题目描述 题解 代码 复杂度 009-变态跳台阶 题目描述 题解 代码 复杂度 010-矩形覆盖 题目描述 题解 代码 ...

随机推荐

  1. iframe重定向问题

    sandbox="allow-forms allow-scripts allow-same-origin allow-popups"

  2. iOS拍照定制之AVCapturePhotoOutput

    问题 领导安排任务,写个拍照功能,界面跟系统拍照有点出入 拍完照片,底部显示已拍照片,有个拍照上限[在此不论] 点击已拍照片,可以预览.放大缩小查看 思路 系统拍照肯定不行了,只能定制,没提是否拍照禁 ...

  3. Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统

    prometheus安装和配置 prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据. 2.Client Library: 客户端库,检测应用程序代码,当 ...

  4. Reactive Spring实战 -- 理解Reactor的设计与实现

    Reactor是Spring提供的非阻塞式响应式编程框架,实现了Reactive Streams规范. 它提供了可组合的异步序列API,例如Flux(用于[N]个元素)和Mono(用于[0 | 1]个 ...

  5. vuex中辅助函数的使用方法

    mapState import { mapState } from 'vuex' export default { // ... computed:{ ...mapState({ // 箭头函数可使代 ...

  6. 基于jQuery1.4.2轻量级的弹出窗口jQuery插件wBox 1.0

    Box特点 背景透明度可以根据实际情况进行调节 可以根据需要添加wBox标题 支持callback函数 支持html内容自定义 支持在wBox显示#ID的内容 支持Ajax页面内容 支持iFrame ...

  7. linux开启FTP服务

    目录 打开FTP服务 客户端链接时会出现的问题 打开FTP服务 先ping,查看网络是否联通 打开ssh服务 查看一些服务的状态 #查看ssh状态 service sshd status #防火墙的状 ...

  8. `vi`——终端中的编辑器

    `vi`--终端中的编辑器 目标* `vi` 简介* 打开和新建文件* 三种工作模式* 常用命令* 分屏命令* 常用命令速查图 01. `vi` 简介 1.1 学习 `vi` 的目的 * 在工作中,要 ...

  9. FreeBSD 12.2 发布

    FreeBSD 团队宣布 FreeBSD 12.2 正式发布,这是 FreeBSD 12 的第三个稳定版本. 本次更新的一些亮点: 引入了对无线网络堆栈的更新和各种驱动程序,以提供更好的 802.11 ...

  10. (Java基础--Spring阶段)常见面试题题目及解析整理(2021.03.12)

    题目整理 Java基础进阶阶段 基础概念类 1.JDK1.8新特性? 2.面向对象和面向过程的区别? 3.什么是值传递和引用传递? 4.什么是不可变对象? 5.讲讲类的实例化顺序? 6.java 创建 ...