博客专栏  >  编程语言   >  剑指offer习题解答(java版)

剑指offer习题解答(java版)

这是关于剑指offer中的66道题目的解答,使用java语言编写,从浅入深,由低级到高级的讲解题目的参考答案。

关注
5 已关注
21篇博文
  • 剑指offer——最小的K个数

    1. 问题描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 2.问题解答这相当于部分排序,想法也有可能是多种多样,基...

    2017-08-06 23:10
    428
  • 剑指offer——连续子数组的最大和

    1. 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是...

    2017-07-22 21:49
    485
  • 剑指offer——从上往下打印二叉树

    1. 问题描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 2. 解决方法其实这道题就是二叉树的层次遍历。这个在学数据结构的时候就已经考察了。其主要思想就是建立一个队列,然后递归的入队...

    2017-07-15 21:07
    111
  • 剑指offer——栈的压入、弹出序列

    1. 问题描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1...

    2017-07-14 18:56
    391
  • 剑指offer——旋转数组的最小数字

    1. 问题描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,...

    2017-03-22 20:15
    271
  • 剑指offer——斐波那契数列

    1. 问题描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 2. 求解方法首先,我们要明确一下斐波那契数列,因为对于斐波那契数列还是有一些争议...

    2017-03-23 22:17
    177
  • 剑指offer——变态跳台阶

    1. 问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 2.求解方法这道题目之所以称为是变态跳台阶,是因为它是跳台阶的一个变...

    2017-03-27 19:18
    162
  • 剑指offer——矩形覆盖

    1. 问题描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 2. 求解方法看似困难的题目,实际上,就是斐波那契...

    2017-04-06 22:07
    145
  • 剑指offer——二进制中1的个数

    1.问题描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 2.解决方法2.1 level1看到这个题目第一反应是什么呢?在回想什么是补码,如何把一个整数转换成2进制。这是一个...

    2017-04-10 12:28
    170
  • 剑指offer——数值的整数次方

    1.问题描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 2.解决方法2.1 level1这道题,首先的第一反应就是使用最基础的...

    2017-04-15 19:11
    270
  • 剑指offer——调整数组顺序使奇数位于偶数前面

    1. 问题描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 2. ...

    2017-04-27 14:55
    233
  • 剑指offer——链表中倒数第k个结点

    1. 问题描述 输入一个链表,输出该链表中倒数第k个结点。 2. 解决方案遇到链表,那么肯定是在考察数据结构的相关知识。对于一个单链表来讲,其实还是没那么复杂。另外就是在进行手写数据结构的链表、队...

    2017-05-01 14:09
    222
  • 剑指offer——反转链表

    1. 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 2. 解决方法反转链表是一个非常基础的操作,但是也是一个非常有技术含量的操作。能看出一个人的基本功扎不扎实。2.1 level1反转...

    2017-05-04 21:10
    178
  • 剑指offer——合并链表

    1. 问题描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 2. 解决方法合并链表应该是数据结构里最经典的一道题目。两个链表合并,当然是要一次对比...

    2017-05-06 11:27
    173
  • 剑指offer——二叉树镜像、反转单词序列

    1. 引言这一次和之前的不太一样,因为这一次是同时写两题,因为这两题比较相近,而且各自没有太多可以挖掘的地方,就把它们放在一起了。2. 二叉树镜像2.1 问题描述 操作给定的二叉树,将其变换为源二...

    2017-06-11 21:11
    168
  • 剑指offer——二维数组中的查找

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

    2017-07-02 23:25
    161
  • 剑指offer——替换空格

    1. 问题描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 2. 解答思路对于这一题...

    2017-07-04 20:47
    169
  • 剑指offer——从尾到头打印链表

    1. 问题描述 输入一个链表,从尾到头打印链表每个节点的值。 2. 解决思路题目已经给出了一个预先定义好的链表: public class ListNode { int val...

    2017-07-05 18:55
    139
  • 剑指offer——重建二叉树

    1. 问题描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列...

    2017-07-06 21:29
    176
  • 剑指offer——数组中出现次数超过一半的数字

    1. 问题描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因...

    2017-07-07 19:33
    200
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部