剑指offer算法编程题目部分汇总(解法略)
来源:互联网 发布:用友t3数据库在哪 编辑:程序博客网 时间:2024/05/16 12:27
总结一下本书中遇到的大部分面试题。面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右的递增顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个整数,判断数组中是否含有该整数。
面试题4:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成%20。
面试题5:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印每个结点的值。
面试题6:重建二叉树
题目:输入某二叉树前序遍历和中序遍历的结果,请重建出该二叉树。假设节点没有重复的。
面试题7:用两个栈实现队列
题目描述:如题。
面试题8:旋转数组的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的一个旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小值。
面试题9:斐波那契数列及其相关应用
面试题10:二进制数中1的个数(如果是移位的话数为负数会死循环)(有惊喜解法)
面试题11:数值的整数次方(有陷阱)
面试题12:打印1到最大的n位数(用字符串打印)
面试题13:在O(1)时间内删除链表节点
题目描述:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该节点
面试题14:调整数组顺序使技术位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。(设计模式的抽象)
面试题15:链表中倒数第k个结点(陷阱)
面试题16:反转链表
面试题17:合并两个排序的链表
面试题18:树的子结构
题目:输入两棵二叉树A和B,判断B是不是A的子结构。
面试题19:二叉树的镜像(最好画图来,更直观)
面试题20:顺时针打印矩阵
面试题21:包含min函数的栈
面试题22:栈的压入弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入序列,第二个表示栈的弹出序列,请判断第二个序列是否为栈的弹出序列(假设栈中数字没有相同的)
面试题23:从上往下打印二叉树(入队列)
面试题24:二叉搜索树的后序遍历序列
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历序列,是则返回true,否则返回false,假设输入的输入的任意两个数都不同。
面试题25:二叉树中和为某一值的路径
面试题26:复杂链表的复制
面试题27:二叉搜索树与双向链表
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求不能创建任何新的节点,只能调整树种结点指针的指向
面试题28:字符串的排列
题目:输入一个字符串,打印出该字符串中字符的所有排列。
面试题29:数组中出线次数超过一半的数字
面试题30:最小的k个数
面试题31:连续子数组的最大和
面试题32:从1到n整数中1出现的次数
面试题33:把数组排成最小的数
面试题34:丑数
面试题35:第一个只出现一次的字符(简易hash表)
面试题36:数组中的逆序对
面试题37:两个链表的第一个公共节点(压栈)
面试题38:数字在排序数组中出现的次数
面试题39:二叉树的深度
暂时先整理到这么多吧,有一些题目还是比较具有代表性的。
- 剑指offer算法编程题目部分汇总(解法略)
- 剑指offer编程题目汇总(更新中。。)
- [面试算法] 剑指Offer题目代码汇总
- 剑指offer部分题目整理
- 剑指offer题目汇总(一)
- 剑指offer题目汇总(二)
- 剑指offer题目汇总(三)
- 剑指offer题目思想汇总
- 剑指offer 面试题题目汇总
- 剑指offer--DP类题目汇总
- 2016旷视杯清华校赛总结(部分题目解法)
- <剑指offer>javascript解法(1-65)
- 一道算法题目的解法
- NYOJ 贪心算法题目汇总(一)
- 剑指offer python语言解法
- 部分算法编程(Delphi)
- 剑指offer在线编程题汇总与讲解(part 1)
- 剑指offer 题目总结(上)
- 大数乘法:忽略特殊情况(比如0等简单的情况)
- android 动态库死机调试方法
- 13.kafka 收集日志的两种方式
- 枚举变量
- Git如何删除远程服务器文件同时保留本地文件
- 剑指offer算法编程题目部分汇总(解法略)
- c程序的输入和输出
- 1-网络协议基础
- 实习网申小技巧
- 列向量互信息计算
- Android Studio gradle配置详解
- 用户接口
- 【开发手札】关于开发的一些个人心得见解
- 剑指offer面试题43:n个筛子的点数