原文地址:https://blog.csdn.net/baiye_xing/article/details/78428561

一、引言

《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。

二、目录

  1. 赋值运算函数
  2. 单例设计模式
  3. 二维数组中查找目标值
  4. 替换字符串中的空格
  5. 从尾到头打印链表
  6. 由前序和中序遍历重建二叉树
  7. 用两个栈实现队列
  8. 求旋转数组的最小数字
  9. 斐波那契数列的第n项(青蛙跳台阶)
  10. 二进制中1的个数
  11. 数值的整数次方
  12. 打印1到最大的n位数
  13. O(1)时间删除链表节点
  14. 使数组中的奇数位于偶数前面
  15. 找链表中倒数第K个节点
  16. 输出反转后的链表
  17. 合并两个有序链表
  18. 判断二叉树A中是否包含子树B
  19. 二叉树的镜像
  20. 顺时针打印矩阵
  21. 包含min函数的栈
  22. 判断一个栈是否是另一个栈的弹出序列
  23. 层序遍历二叉树
  24. 后序遍历二叉搜索树
  25. 二叉树中和为某值的路径
  26. 复杂链表的复制
  27. 二叉搜索树转换为双向链表
  28. 打印字符串中所有字符的排列
  29. 数组中出现次数超过一半的数字
  30. 找出最小的K个数
  31. 连续子数组的最大和
  32. 从1到整数n中1出现的次数
  33. 把数组中的数排成一个最小的数
  34. 求第N个丑数
  35. 第一个出现一次的字符
  36. 数组中逆序对的个数
  37. 两个链表的第一个公共节点
  38. 数字在排序数组中出现的次数
  39. 二叉树的深度
  40. 数组中只出现一次的两个数,而其他数都出现两次。
  41. 和为s的连续整数序列
  42. 翻转字符串
  43. n个骰子的点数及出现的概率44. 扑克牌的顺子
  44. 圆圈中最后剩下的数
  45. 1+2+3+…+n的和
  46. 不用加减乘除做加法
  47. 不能被继承的类
  48. 字符串转换为整数
  49. 树中两个节点的最低公共祖先
  50. 找出重复的数
  51. 构建乘积数组
  52. 正则表达式匹配
  53. 表示数值的字符串
  54. 字符流中第一个不重复的字符
  55. 链表中环的入口节点
  56. 删除链表中重复的节点
  57. 二叉树的下一个节点
  58. 对称的二叉树
  59. 按之字形顺序打印二叉树
  60. 把二叉树打印成多行
  61. 序列化二叉树
  62. 二叉搜索树的第K个节点
  63. 数据流中的中位数
  64. 滑动窗口的最大值
  65. 矩阵中的路径
  66. 机器人的运动范围

三、代码实现

四、代码免费下载

免费下载网址:《剑指offer》Java版代码下载

以上内容从csdn上转载,感谢作者:https://blog.csdn.net/baiye_xing/article/details/78428561

【剑指offer】Java版代码(完整版)的更多相关文章

  1. 《剑指offer(第二版)》面试题55——判断是否为平衡二叉树

    一.题目大意 输入一颗二叉树,判断该二叉树是否为平衡二叉树(AVL树). 二.题解 <剑指offer>上给出了两种解决方式: 1.第一种是从根节点开始,从上往下遍历每个子节点并计算以子节点 ...

  2. 剑指Offer——Java实现栈和队列的互模拟操作

    剑指Offer--Java实现栈和队列的互模拟操作 栈模拟队列   题目:JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作.队列中的元素为int类型.   思路:其实就是把队列正常入 ...

  3. 《剑指offer 第二版》题解

    剑指Offer 按题号排序 面试题 3:数组中重复的数字 面试题 4:二维数组中的查找 面试题 5:替换空格 面试题 6:从头到尾打印链表 面试题 7:重建二叉树 面试题 8:二叉树的下一个节点 面试 ...

  4. 《剑指offer(第二版)》——面试题36:二叉搜索树与双向链表

    具体的题目大意和参考思路在此处不详述(见<剑指offer>),实质就是在中序遍历的过程中调整指针的指向,关于中序遍历有递归和非递归两种操作,所以此处也用了两种方法. 方法1(递归法): 代 ...

  5. 《剑指offer(第二版)》面试题60——n个骰子的点数

    一.题目描述 把n个骰子仍在地上,所有的骰子朝上的一面的点数之和为s,输入n,打印出s所有可能的值出现的概率. 二.题解 <剑指offer>上给出的两种方法,尤其是代码,晦涩难懂且没有注释 ...

  6. 《剑指offer(第二版)》面试题64——求1+2+...+n

    一.题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句 (即三元运算符,A? B : C) 二.题解 虽然求和问 ...

  7. 结合《剑指offer(第二版)》面试题51来谈谈归并排序

    一.题目大意 给定一个数组A,对于数组A中的两个数字,如果排在前面的一个数字大于(必须大于,等于不算)后面的数字,则这两个数字组成一个逆序对.要求输出数组A中的逆序对的总数.例如,对于数组{7,5,6 ...

  8. 经典面试题目——找到第n个丑数(参考《剑指offer(第二版)》面试题49)

    一.题目大意 给你一个数n,要求返回第n个丑数.其中,丑数的定义如下: 丑数是指只包含因子2.3和5的数.(数字1也是丑数,不过是个特例)引用<剑指offer>上的话来说,对于一个数M,如 ...

  9. 牛客网剑指offer java 全部题解

    经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...

  10. 剑指offer第二版-10.斐波那契数列

    面试题10:斐波那契数列 题目要求: 求斐波那契数列的第n项的值.f(0)=0, f(1)=1, f(n)=f(n-1)+f(n-2) n>1 思路:使用循环从下往上计算数列. 考点:考察对递归 ...

随机推荐

  1. Codeforces Round #511 (Div. 1) C. Region Separation(dp + 数论)

    题意 一棵 \(n\) 个点的树,每个点有权值 \(a_i\) .你想砍树. 你可以砍任意次,每次你选择一些边断开,需要满足砍完后每个连通块的权值和是相等的.求有多少种砍树方案. \(n \le 10 ...

  2. 如何将Drawable转为Bitmap?

    本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文将讲解如何将Drawable转为Bitmap ...

  3. 【Luogu3733】[HAOI2017]八纵八横(线性基,线段树分治)

    [Luogu3733][HAOI2017]八纵八横(线性基,线段树分治) 题面 洛谷 题解 看到求异或最大值显然就是线性基了,所以只需要把所有环给找出来丢进线性基里就行了. 然后线性基不资磁撤销?线段 ...

  4. CodeForces Global Round 1

    CodeForces Global Round 1 CF新的比赛呢(虽然没啥区别)!这种报名的人多的比赛涨分是真的快.... 所以就写下题解吧. A. Parity 太简单了,随便模拟一下就完了. B ...

  5. HDU 4549 M斐波那契数列(矩阵快速幂)

    题目链接:M斐波那契数列 题意:$F[0]=a,F[1]=b,F[n]=F[n-1]*F[n-2]$.给定$a,b,n$,求$F[n]$. 题解:暴力打表后发现$ F[n]=a^{fib(n-1)} ...

  6. Lambda 表达式有何用处?如何使用?

    强烈推荐!!!   作者:Sevenvidia链接:https://www.zhihu.com/question/20125256/answer/324121308来源:知乎著作权归作者所有.商业转载 ...

  7. LOJ#2542 随机游走

    解:首先minmax容斥变成经过集合t的第一个点就停止的期望步数.对于某个t,设从x开始的期望步数为f(x) 如果x∈t,f(x) = 0.否则f(x) = ∑f(y) / in[x] + 1 树上高 ...

  8. saltstack常用命令

    Salt通过公钥加密和认证minions.想要让minion从master端接受命令,minions的密钥需要被master接受 salt-key -L #列出master上的密钥; salt-key ...

  9. 斯坦福大学公开课机器学习:machine learning system design | data for machine learning(数据量很大时,学习算法表现比较好的原理)

    下图为四种不同算法应用在不同大小数据量时的表现,可以看出,随着数据量的增大,算法的表现趋于接近.即不管多么糟糕的算法,数据量非常大的时候,算法表现也可以很好. 数据量很大时,学习算法表现比较好的原理: ...

  10. Day17--Python--面向对象--成员

    成员 class Person: def __init__(self, name, num, gender,birthday): # 成员变量(实例变量) self.name = name self. ...