剑指offer刷题笔记及各题目解析专题

这篇博客详尽地整理了《剑指Offer》中的编程面试题,涵盖数组、字符串、链表、二叉树、二叉搜索树、栈、递归、回溯法以及各类知识点,是准备面试者的宝贵资料。
摘要由CSDN通过智能技术生成
                                为了方便于学习,本人总结了前人的博客心得,感谢默默奉献的博主

第一部分:数组模块

(1)二维数组中的查找
        [http://cuijiahua.com/blog/2017/11/basis_1.html](查看解析链接)
      
(2)旋转数组中的最小数字
        [http://cuijiahua.com/blog/2017/11/basis_6.html](查看解析链接)

(3)调整数组顺序使奇数位于偶数前面
        [http://cuijiahua.com/blog/2017/11/basis_13.html](查看解析链接)

(4)数组中出现次数超过一半的数字
        [http://cuijiahua.com/blog/2017/12/basis_28.html](查看解析链接)
        
(5)连续子数组的最大和
        [http://cuijiahua.com/blog/2017/12/basis_30.html](查看解析链接)

(6)把数组排成最小的数
        [http://cuijiahua.com/blog/2018/01/basis_32.html](查看解析链接)

(7)数组中的逆序对
        [http://cuijiahua.com/blog/2018/01/basis_35.html](查看解析链接)

(8)数字在排序数组中出现的次数
        [http://cuijiahua.com/blog/2018/01/basis_37.html](查看解析链接)

(9)数组中只出现一次的数字
        [http://cuijiahua.com/blog/2018/01/basis_40.html](查看解析链接)

(10)数组中重复的数字
         [http://cuijiahua.com/blog/2018/01/basis_50.html](查看解析链接)

(11)构建乘积数组
         [http://cuijiahua.com/blog/2018/01/basis_51.html](查看解析链接)

第二部:分字符串

(1)替换空格
        http://cuijiahua.com/blog/2017/11/basis_2.html(查看解析链接)

(2)字符串的排列
        http://cuijiahua.com/blog/2017/12/basis_27.html(查看解析链接)
        
(3)第一个只出现一次的字符
        http://cuijiahua.com/blog/2018/01/basis_34.html(查看解析链接)

(4)左旋转字符串
        http://cuijiahua.com/blog/2018/01/basis_43.html(查看解析链接)

(5)翻转单词顺序序列
        http://cuijiahua.com/blog/2018/01/basis_44.html(查看解析链接)

(6)把字符串转换成整数
        http://cuijiahua.com/blog/2018/01/basis_49.html(查看解析链接)

(7)正则表达式匹配
        http://cuijiahua.com/blog/2018/01/basis_52.html(查看解析链接)

(8)表示数值的字符串
        http://cuijiahua.com/blog/2018/01/basis_53.html(查看解析链接)

第三部分:链表

(1)从尾到头打印链表
         http://cuijiahua.com/blog/2017/11/basis_3.html(查看解析链接)
         
(2)链表中倒数第k个结点
         http://cuijiahua.com/blog/2017/12/basis_14.html(查看解析链接)
         
(3)反转链表
         http://cuijiahua.com/blog/2017/12/basis_15.html(查看解析链接)
         
(4)合并两个排序的链表
         http://cuijiahua.com/blog/2017/12/basis_16.html(查看解析链接)
         
(5)复杂链表的复制
         http://cuijiahua.com/blog/2017/12/basis_25.html(查看解析链接)
         
(6)两个链表的第一个公共结点
         http://cuijiahua.com/blog/2018/01/basis_36.html(查看解析链接)
         
(7)链表中环的入口结点
         http://cuijiahua.com/blog/2018/01/basis_55.html(查看解析链接)
         
(8)删除链表中重复的结点
         http://cuijiahua.com/blog/2018/01/basis_56.html(查看解析链接)

第四部分:二叉树

(1)重建二叉树
         http://cuijiahua.com/blog/2017/11/basis_4.html(查看解析链接)

(2)树的子结构
         http://cuijiahua.com/blog/2017/12/basis_17.html(查看解析链接)

(3)二叉树的镜像
         http://cuijiahua.com/blog/2017/12/basis_18.html(查看解析链接)

(4)从上往下打印二叉树
         http://cuijiahua.com/blog/2017/12/basis_22.html(查看解析链接)

(5)二叉树中和为某一值的路径
         http://cuijiahua.com/blog/2017/12/basis_24.html(查看解析链接)

(6)二叉树的深度
         http://cuijiahua.com/blog/2018/01/basis_38.html(查看解析链接)

(7)平衡二叉树
         http://cuijiahua.com/blog/2018/01/basis_39.html(查看解析链接)

(8)二叉树的下一个结点
         http://cuijiahua.com/blog/2018/01/basis_57.html(查看解析链接)

(9)对称的二叉树
         http://cuijiahua.com/blog/2018/01/basis_58.html(查看解析链接)

(10)按之字顺序打印二叉树
         http://cuijiahua.com/blog/2018/01/basis_59.html(查看解析链接)

(11)把二叉树打印成多行
          http://cuijiahua.com/blog/2018/01/basis_60.html(查看解析链接)

(12)序列化二叉树
          http://cuijiahua.com/blog/2018/01/basis_61.html(查看解析链接)

第五部分:二叉搜索树

(1)二叉搜索树的后序遍历序列
         http://cuijiahua.com/blog/2017/12/basis_23.html(查看解析链接)

(2)二叉搜索树与双向链表
         http://cuijiahua.com/blog/2017/12/basis_26.html(查看解析链接)

(3)二叉搜索树的第k个结点
         http://cuijiahua.com/blog/2018/01/basis_62.html(查看解析链接)

第六部分:栈

(1)用两个栈实现队列
         http://cuijiahua.com/blog/2017/11/basis_5.html(查看解析链接)

(2)包含min函数的栈
         http://cuijiahua.com/blog/2017/12/basis_20.html(查看解析链接)

(3)栈的压入、弹出序列
         http://cuijiahua.com/blog/2017/12/basis_21.html(查看解析链接)

第七部分:递归

(1)裴波那契数列
        http://cuijiahua.com/blog/2017/11/basis_7.html(查看解析链接)

(2)跳台阶
        http://cuijiahua.com/blog/2017/11/basis_8.html(查看解析链接)

(3)变态跳台阶
        http://cuijiahua.com/blog/2017/11/basis_9.html(查看解析链接)

(4)矩形覆盖
        http://cuijiahua.com/blog/2017/11/basis_10.html(查看解析链接)

第八部分:回溯法

(1)矩阵中的路径
         http://cuijiahua.com/blog/2018/02/basis_65.html(查看解析链接)

(2)机器人的运动范围
         http://cuijiahua.com/blog/2018/02/basis_66.html(查看解析链接)

第九部分:其他知识题

(1)二进制中1的个数
         http://cuijiahua.com/blog/2017/11/basis_11.html(查看解析链接)
         
(2)数值的整数次方
         http://cuijiahua.com/blog/2017/11/basis_12.html(查看解析链接)
         
(3)顺时针打印矩阵
         http://cuijiahua.com/blog/2017/12/basis_19.html(查看解析链接)
         
(4)最小的K个数
         http://cuijiahua.com/blog/2017/12/basis_29.html(查看解析链接)
         
(5)整数中1出现的次数(从1到n整数中1出现的次数)
         http://cuijiahua.com/blog/2017/12/basis_31.html(查看解析链接)
         
(6)丑数
         http://cuijiahua.com/blog/2018/01/basis_33.html(查看解析链接)
         
(7)和为S的连续正数序列
         http://cuijiahua.com/blog/2018/01/basis_41.html(查看解析链接)
         
(8)和为S的两个数字
         http://cuijiahua.com/blog/2018/01/basis_42.html(查看解析链接)
         
(9)扑克牌顺子
         http://cuijiahua.com/blog/2018/01/basis_45.html(查看解析链接)
         
(10)孩子们的游戏(圆圈中最后剩下的数)
         http://cuijiahua.com/blog/2018/01/basis_46.html(查看解析链接)
         
(11)求1+2+3+…+n
         http://cuijiahua.com/blog/2018/01/basis_47.html(查看解析链接)
         
(12)不用加减乘除的加法
         http://cuijiahua.com/blog/2018/01/basis_48.html(查看解析链接)
         
(13)字符流中第一个不重复的字符
         http://cuijiahua.com/blog/2018/01/basis_54.html(查看解析链接)
         
(14)数据流中的中位数
         http://cuijiahua.com/blog/2018/02/basis_63.html(查看解析链接)
         
(15)滑动窗口的最大值
         http://cuijiahua.com/blog/2018/02/basis_64.html(查看解析链接)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N1314N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值