简介

此笔记为我在 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. 设置mysql的字符集永远为UTF-8

    1.在虚拟机/usr路径下创建一个文件命名为:mysql.cnf cd /usr touch mysql.cnf 2.在该文件中使用vim命令插入配置文本 vim mysql.cnf 按i键进入编辑模 ...

  2. CF1491C Pekora and Trampoline 题解

    题目链接 ​ 比赛时只想到了 \(\mathcal O(n^3)\) 的暴力做法,官方题解是 \(\mathcal O(n^2)\) ,并且是可以优化为 \(\mathcal O(n)\) 的(贪心+ ...

  3. net5 中 后台任务利器之Hangfire 的使用

    什么是Hangfire Hangfire 是一个开源的.NET任务调度框架,目前1.6+版本已支持.NET Core.它最大特点在于内置提供集成化的控制台,方便后台查看及监控: 另外,Hangfire ...

  4. 使用代码生成工具快速开发ABP框架项目

    在一般系统开发中,我们一般要借助于高度定制化的代码生成工具,用于统一代码风,节省开发时间,提高开发效率.不同的项目,它的项目不同分层的基类定义不同,我们需要在框架基类的基础上扩展我们的业务类代码,尽量 ...

  5. 用实战玩转pandas数据分析(一)——用户消费行为分析(python)

      CD商品订单数据的分析总结.根据订单数据(用户的消费记录),从时间维度和用户维度,分析该网站用户的消费行为.通过此案例,总结订单数据的一些共性,能通过用户的消费记录挖掘出对业务有用的信息.对其他产 ...

  6. NIO三大组件之Buffer

    什么是Buffer Buffer(这里并不是特指Buffer类)是一个存储数据的容器,与数组类似(其实底层依旧是用数组的结构来存储数据),但不同的是,Buffer对象提供了一组更有效的方法去进行写入和 ...

  7. PTE 准备之 Personal introduction

    Task strategies Be prepared! This is your opportunity to give the admissions officers a first impres ...

  8. golang 实现两数组对应元素相除

    func ArrayDivision(arr1 []float64,arr2 []float64) (arr3 []float64) { //两数组对应元素相除 for p:=0;p< len( ...

  9. 事件 on

    $(选择器).on(事件名称,事件的处理函数) 事件名称:js事件去掉on的部分,例如js中onclick,这里就是click 例如:<input type="button" ...

  10. [倍增][换根DP]luogu P5024 保卫王国

    题面 https://www.luogu.com.cn/problem/P5024 分析 可以对有限制的点对之间的链进行在倍增上的DP数组合并. 需要通过一次正向树形DP和一次换根DP得到g[0][i ...