剑指 Offer 题目汇总索引

剑指 Offer 总目录:(共50道大题)

1.
赋值运算符函数
(或应说复制拷贝函数问题

2.
实现 Singleton 模式 (C#)

3.二维数组中的查找

4.替换空格              
时间:O(n) 空间:O(1)

5.从尾到头打印链表

6.
重建二叉树          &&
二叉树的各种遍历(BFS,DFS,DLR,LDR,LRD)

7.用两个栈实现队列

8.旋转数组的最小数字

9.斐波那契数列第
n 项        时间O(lgn)

10.一个整数的二进制表示中 1
的个数

11.
double
数值的整数次方 

12.打印 1 到最大的 n 位数

13. O(1)
时间删除链表结点

14.
奇数(或满足其它要求)置前,偶数置后。

15.
链表中倒数第 k 个结点

16. 反转链表

17.合并两个排序的链表(递归)

18.
判断树 B 是否为树 A 的子结构(递归)

19.
二叉树的镜像(递归)

20.
顺时针打印矩阵

21.
包含 min  函数的栈

22.
根据栈的压入序列,判断一个序列是否是弹出序列。

23.
从上往下打印二叉树

24.
判断序列是否为二叉搜索树的后序遍历(递归)

25.
二叉树中和为某一值的路径(递归)

26.
复杂链表的复制

27.二叉搜索树生成有序双向链表

28.字符串的全排列      
n 皇后问题

29.
数组中出现次数超过一半的数字.

30.
最小的 k 个数

31.
连续子数组的最大和

32. 从 1 到 n 整数中 k (0,1, 2, 3, 4, 5, 6,
7, 8, 9)出现的次数。
时间 O(log10N)

33.
把正整数数组排成最小的数

34.
第 n 个丑数

35.
第一个只出现一次的字符

36.数组中的逆序对个数
(归并排序解法)

34. 
两个链表的第一个公共结点

35.
第一个只出现一次的字符

36.数组中的逆序对个数
(归并排序解法)

37. 
两个链表的第一个公共结点

38.
数字 k 在有序数组中出现的次数

39.
二叉树的深度 && 平衡二叉树的判断 && 
二叉树结点的最大距离
(题目来自编程之美,解法自创)

40.
数组中只出现一次的数字

41. 和为 S
的连续正数序列。

42.
翻转单词顺序 && 字符串左旋转

43. 
投 n 个骰子,计算点数和出现的概率

44. 取 k
张扑克牌,看其是否是顺子。

45.
圆圈中最后剩下的数字。

46. 求 1+2+ … +n。
:不用乘除法、for、while、if、else、switch、case 以及条件判断语句(A?B:C)。

47.
不用 +、-、*、/ 做加法

48.
不能被继承的类

49. 把字符串转换为整数

50. 树种两个结点的最低公共祖先

剑指 Offer 题目汇总索引,布布扣,bubuko.com

时间: 2024-10-03 18:29:08

剑指 Offer 题目汇总索引的相关文章

剑指 Offer 题目索引

剑指 Offer 总目录:(共50道大题) 1. 赋值运算符函数(或应说复制拷贝函数问题) 2. 实现 Singleton 模式 (C#) 3.二维数组中的查找 4.替换空格               时间:O(n) 空间:O(1) 5.从尾到头打印链表 6. 重建二叉树          && 二叉树的各种遍历(BFS,DFS,DLR,LDR,LRD) 7.用两个栈实现队列 8.旋转数组的最小数字 9.斐波那契数列第 n 项        时间O(lgn) 10.一个整数的二进制表示中

剑指offer题目系列三(链表相关题目)

本篇延续上一篇剑指offer题目系列二,介绍<剑指offer>第二版中的四个题目:O(1)时间内删除链表结点.链表中倒数第k个结点.反转链表.合并两个排序的链表.同样,这些题目并非严格按照书中的顺序展示的,而是按自己学习的顺序,每个题目包含了分析和代码. 9.O(1)时间内删除链表结点 题目: 在O(1)时间内删除链表结点.给定单链表的头指针和一个结点指针,定义一个方法在O(1)时间内删除该结点. 单链表的定义如下: 解答: 单向链表删除一个结点,最直观的想法是从链表的头结点开始顺序遍历查找要

牛客网上的剑指offer题目

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 题目:请实现一个函数,将一个字符串中的空格替换成"%20" 两种方法实现:输入一个链表,从尾到头打印链表每个节点的值 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 剑指offer 斐波那契数列 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个

剑指offer题目系列一

本篇介绍<剑指offer>第二版中的四个题目:找出数组中重复的数字.二维数组中的查找.替换字符串中的空格.计算斐波那契数列第n项. 这些题目并非严格按照书中的顺序展示的,而是按自己学习的顺序,每个题目包含了分析和代码,代码都是用Java语言编写的. 1.找出数组中重复的数字 题目:        在一个长度为n的数组里,所有数字都在0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复,也不知道每个数字重复了几次,请找出数组中任意一个重复的数字.例如,如果输入长度为7的数组{2,3

【剑指Offer】文章索引(未完)

下面是牛客网剑指Offer编程题的一些解题报告,目前还没刷完,会一篇篇加上来. 跳台阶 变态跳台阶 矩形覆盖 重建二叉树 替换空格 用两个栈代替队列 斐波那契数列 二进制中 1 的个数 版权声明:本文为博主原创文章,未经博主允许不得转载.

剑指offer题目记录

1.如下为类型CMyString的声明,请为该类型添加赋值运算符函数. 2.设计一个类,我们只能生成该类的一个实例.   3.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否函数该整数.   4.请实现一个函数,把字符串中的每个空格替换成"%20".例如输入"We are happy",则输出"We%20are%20happy".   4_1

剑指Offer题目:字符串的排列

题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 题目分析: 最简单的是使用字典序生成法,这样可以把有重复字符串的情况也考虑进去. Java实现代码: import java.util.ArrayList; import java.util.Arrays; public class Solution { private ArrayList<String> r

剑指offer题目练习一

看见了一道二维数组找数的题,已排好序的数组(从左至右从上到下,都是由小变大的)让找数,瞬间就出思路了,并没有必要去看他的解释,两次二分就搞定了. #include<cstdio> #include<iostream> using namespace std; void sreach(int num[][100], int row, int line, int goal) { int i=0,j=row-1,mid; while((j-i)>1) { mid=(i+j)/2;

剑指offer题目分类

1. 链表 1. 从尾到头打印链表 2. 链表中倒数第k个结点 3. 反转链表 4. 合并两个排序的链表 5. 复杂链表的复制 6. 复杂链表的复制 7. 两个链表的第一个公共结点 8. 链表中环的入口结点 9. 删除链表中重复的结点 2. 二叉树 10. 重建二叉树 11. 树的子结构 12. 二叉树的镜像 13. 从上往下打印二叉树 14. 二叉搜索树的后序遍历序列 15. 二叉树中和为某一值的路径 16. 二叉搜索树与双向链表 17. 二叉树的深度 18. 平衡二叉树 19. 二叉树的下一