![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer Java版分类题解
文章平均质量分 89
tribe-795
这个作者很懒,什么都没留下…
展开
-
剑指offer :数值类题目汇总
15.数值的整数次方: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。不得使用库函数,不需要考虑大数问题。 解题思路:不使用库函数实现乘方问题,需要考虑几种特殊情况,当输入为0时,输出为1,当输入为负数时,需要先转换成绝对值,最终的结果用1整除即可。 public class...原创 2018-11-15 18:58:13 · 274 阅读 · 0 评论 -
剑指offer :数组类题目汇总
3.数组中的重复数字: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 解题思路:一维数组在内存中占据连续的空间,可以根据下标定位对应的...原创 2018-11-15 19:36:15 · 286 阅读 · 0 评论 -
剑指offer :树类题目汇总
7.重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路:把重建二叉树分解为构建左右子树。根据题目给出的前序遍历、中序遍历数组,首先找出根节点 , 然后再根...原创 2018-11-15 22:31:18 · 279 阅读 · 0 评论 -
剑指offer :栈和队列类题目汇总
基本操作:https://www.cnblogs.com/whsa/p/4272717.html 栈----先进后出 push(E item) 把项压入堆栈顶部。 pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。 peek() 查看堆栈顶部的对象,但不从堆栈中移除它。 boolean e...原创 2018-11-15 20:01:51 · 156 阅读 · 0 评论 -
剑指offer :算法和数据操作类题目汇总
一.递归和循环: 基于递归实现的代码比基于循环实现的代码简洁,但由于每一次调用都需要在内存栈中分配空间以保存参数、返回地址及临时变量,实现效率不如循环,此外,递归可能会引起栈溢出。 10.斐波那契数列: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 解题思路:直接采用递归的方式,由...原创 2018-11-15 20:32:22 · 157 阅读 · 0 评论 -
剑指offer :字符串类题目汇总
5.替换空格: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路:直接使用Java自带的字符串替换方法,或者从前向后记录空格的数量,改变bufferstring的长度,从后向前替换空格(Java通过length()方法和charAt()方法结...原创 2018-11-14 21:55:34 · 226 阅读 · 0 评论 -
剑指offer :链表类题目汇总
涉及到链表的增删问题,需要考虑增删的位置(前中尾)、增删后保证链表不断裂。下面对剑指offer中出现的链表类题目进行总结: 6.从尾到头打印链表: 输入一个链表,从尾到头打印链表每个节点的值。 解题思路:最直接的方法是改变链表的方向,从尾到头输出,这种方法需要“后进先出”的栈结构; /** * public class ListN...原创 2018-11-14 22:14:49 · 191 阅读 · 0 评论