Skip to content

剑指offer CodingInterview | Solutions to the book <Coding Interviews> with Java.《剑指offer—名企面试官精讲典型编程题》面试题目的Java实现。

License

Notifications You must be signed in to change notification settings

holtenko/CodingInterviews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

《剑指offer》题目——使用Java实现


Solutions to the book《Coding Interviews》with Java.

《剑指offer—名企面试官精讲典型编程题》题目的Java实现。

No Title Question Solution
01 赋值运算符函数
02 实现Singleton模式
03 FindInPartiallySortedMatrix
二维数组中的查找
在一个二维数组中,每一行按照从左到右递增的顺序排序,每一列按照从上到下递增的顺序排序。请完成一个函数,输入上述二维数组和一个整数,判断数组中是否含有该整数。 Q3_FindMatrix.java
05 PrintListReversingly
从尾到头打印链表
输入一个链表的头节点,从尾到头反过来打印每个节点的值。链表节点定义见Q5_PrintListReversingly.java Q5_PrintListReversingly.java
06 ReConstructBinaryTree
重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 Q6_ReConstructBinaryTree.java
07 QueueWithTwoStack
用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 Q7_QueueWithTwoStack.java
08 MinNumberInRotateArray
旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增序列(可能存在重复值)的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}{1,2,3,4,5}的一个旋转,该数组的最小值为1。 Q8_MinNumberInRotateArray.java
09 Fibonacci
斐波那契数列
大家都知道斐波那契数列,要求输入一个整数n,请你输出斐波那契数列的第n项。 Q9_Fibonacci.java
09.1 JumpFloor
跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 Q9.1_JumpFloor.java
09.2 JumpFloorII
变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 Q9.2_JumpFloorII.java
09.3 RectCover
矩形覆盖
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? Q9.3_RectCover.java
10 NumberOf1
二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 Q10_NumberOf1.java
11 Power
数值的整数次方
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 Q11_Power.java
12 打印1到最大的n位数 🎏
13 在O(1)时间删除链表结点 🎏
14 调整数组顺序使奇数位于偶数前面 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 Q14_ReOrderArray.java
15 链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点。 Q15_FindKthToTail.java
16 反转链表 输入一个链表,反转链表后,输出新链表的表头。 Q16_ReverseList.java
17 合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表的结点仍然是按照递增排序的。 Q17_MergeSortedLists.java
Q17_MergeSortedLists_Recursive.java
18 树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构。(空树不是任意一个树的子结构) Q18_SubstructureInTree.java
19 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 Q19_MirrorOfBinaryTree.java
20 顺时针打印矩阵 🔜
21 包含min函数的栈 🔜
22 栈的压入、弹出序列 🔜
23 从上往下打印二叉树 🔜
24 二叉搜索树的后序遍历序列 🔜
25 二叉树中和为某一值的路径 🔜
26 复杂链表的复制 🔜
27 二叉搜索树与双向链表 🔜
28 字符串的排列 🔜
29 数组中出现次数超过一半的数字 🔜
30 最小的k个数 🔜

About

剑指offer CodingInterview | Solutions to the book <Coding Interviews> with Java.《剑指offer—名企面试官精讲典型编程题》面试题目的Java实现。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages