简介

此笔记为我在 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. 下载com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

    看别人都说在repo.maven.com下载,没想到竟然要登录 索性我直接在国内阿里云的镜像仓库下载好了,速度又快又方便 搜索aspectj 下载地址:https://maven.aliyun.com ...

  2. webpack理解

    打包工具 可以将多个静态文件打包成一个静态文件例如将1.js.2.js.3.css打包成h.js一个静态文件 这样做的好处是:可以减少页面的请求次数 以往是请求多个静态页面,使用webpack后会减少 ...

  3. eclipse安装mybatis的插件

    在help中打开Eclipse Marketplace... 输入mybatis后搜索,点击install即可 功能说明: 1.查找某一个方法 在dao接口中 按住Ctrl键,鼠标指到方法名称上 选择 ...

  4. Java基础语法:final修饰符

    一.final类 描述: 用'final'修饰的类不能被继承,没有子类. 例如,我们是无法写一个类去继承String类,然后对String类型扩展的,因为API中已经将String类定义为'final ...

  5. WPF -- 自定义按钮

    本文介绍WPF一种自定义按钮的方法. 实现效果 使用图片做按钮背景: 自定义鼠标进入时效果: 自定义按压效果: 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承 ...

  6. 求幂&&快速幂&&位运算

    1.普通的求幂方法: 时间复杂度为O(n),对于比较大的数在1s限时内可能会TLE int pow(int base,int p){ int ans=1; for(int i=1;i<=p;i+ ...

  7. mysql索引的性能分析

    [前言]上一篇博客介绍了InnoDB引擎的索引机制,主要围绕B+树的建立,目录项记录里主键和页号,到页目录下的二分法定位数据:二级索引里的主键和索引列,及其回表操作.这一篇分析一下索引的性能,围绕如何 ...

  8. LeetCode674. 最长连续递增序列

    原题链接 1 class Solution: 2 def findLengthOfLCIS(self, nums: List[int]) -> int: 3 ans = begin = 0 4 ...

  9. 快速电路仿真器(FastSPICE)中的高性能矩阵向量运算实现

    今年10-11月份参加了EDA2020(第二届)集成电路EDA设计精英挑战赛,通过了初赛,并参加了总决赛,最后拿了一个三等奖,虽然成绩不是很好,但是想把自己做的分享一下,我所做的题目是概伦电子出的F题 ...

  10. PAT-1018(Public Bike Management)最短路+额外条件+所有最短路中找出满足条件的路径+dijkstra算法

    Public Bike Management PAT-1018 使用一个vector来存储所有最短路的前驱结点,再通过使用dfs和一个额外的vector记录每一条路径 #include<iost ...