您的位置:首页 > Web前端

剑指offer——博文目录

2015-09-02 21:14 1326 查看
剑指offer_面试题3——数组的查找

剑指offer_面试题4——替换空格

JD_题目1525:子串逆序打印(2012年Google校园招聘笔试题目)

JD_题目1512——用两个栈实现队列

剑指offer_面试题42——左旋转字符串

剑指offer 面试题5——从头到尾打印链表

剑指offer面试题6——重建二叉树(递归)

剑指offer面试题7——用两个栈实现队列

剑指offer面试题8——旋转数组的最小数字

剑指offer_面试题9——跳台阶(非洛涅数列)

剑指offer面试题9——变态跳台阶

剑指offer面试题9——矩形框覆盖(递归改循环,斐波那契数列)

剑指offer面试题11——数值的整数次方

剑指offer面试题12——打印1到最大的n位数

剑指offer面试题13——在O(1)时间删除链表结点

剑指offer面试题14——调整数组顺序使奇数位于偶数前面

剑指offer面试题15——链表中倒数第k个结点

剑指offer面试题15——扩展1:求链表的中间结点

剑指offer面试题15——扩展2:判断一个单向链表是否形成环结构

剑指offer面试题16——反转链表

剑指offer面试题17——合并两个排序的链表

剑指offer面试题18——树的子结构(递归)

剑指offer面试题19——二叉树的镜像

剑指offer——面试题20:顺时针打印矩阵

剑指offer——面试题21:包含min函数的栈(泛型编程,一个巧妙的思维)

剑指offer——面试题22:栈的压入、弹出序列

剑指offer——面试题23:从上往下打印二叉树(树的递归创建,广度优先搜索,队列)

剑指offer——面试题24:二叉搜索树的后续遍历序列

剑指offer——面试题25:二叉树中和为某一值的路径(递归,深度优先搜索)

剑指offer——面试题26:复杂链表的复制

剑指offer——面试题27:二叉搜索树与双向链表

剑指offer——面试题28:字符串的排列(递归)

剑指offer——面试题29:数组中出现次数超过一半的数(快速排序的扩展,O(n))

剑指offer——面试题30:最小的k个数

剑指offer——面试题31:连续子数组的最大和(DP)

状态转移方程:sum[i]=max(a[i],sum[i-1]+a[i]),即每次一第i个元素结尾的最大和为以i-1结尾的最大和+a[i],a[i]

中的最大值。这样从前往后。就可以计算出最大值了。

剑指offer——面试题34:丑数

剑指offer——面试题35:第一个只出现一次的字符(哈希,遍历时将数存入哈希表,数组来构成哈希索引结构)

剑指offer——面试题36:数组中的逆序对(归并排序的扩展,先分组找里面的逆序,在合并查找逆序)

剑指offer——面试题37:两个链表的第一个公共结点(哈希)(栈,先都入栈,然后从尾部开始比较)

剑指offer——面试题38:数字在排序数组中出现的次数(利用二分查找来找第一次和最后一次的位置)

剑指offer——面试题39:二叉树的深度(递归二叉树,广度优先搜索)(还可以采用深度优先搜索的方法来做,即采用堆栈)

剑指offer——面试题39:扩展问题判断一个树是否是平衡二叉树(递归)(是上面一道题的扩展问题)

剑指offer——面试题40:数组中只出现一次的数字(位运算,两个相同的数异或结果为0)

剑指offer——面试题41:(一)和为s的两个数字(两个指针,一前一后,向中间在比较中遍历)

剑指offer——面试题:41(二)s的连续正数序列(两个指针,small和big,判断他们之间连续和与s之间的大小)

剑指offer——面试题42:(一)翻转单词顺序(两个指针,栈)

思路1:翻转两次,第一次翻转整个字符串,接着利用空格来确定其中每一个单词的开始和末尾,翻转每一个单词。

思路2:采用栈,将字符串后面依次压入栈中,接着当遇到结束或者空格时,就出栈。

剑指offer——面试题42:(二)字符串的坐旋转操作(将ab旋转,将cdefg旋转,接着将整个字符串旋转,就得到所求)

剑指offer——面试题43:n个骰子的点数(递归,循环)


思路1:递归,分成两组,第一组一个元素,后面一部分为一组,这样计算后面一组时又可以接着分,传入参数为当前和以及第几个。

思路2:循环,一个骰子一个骰子的往上加,用两个数组轮换着保存,而计算采用的是k个和k+1个筛子的各个和之间的关系。

剑指offer——面试题44:扑克牌的顺序

剑指offer——面试题47:圆圈中最后剩下的数字(约瑟夫环问题,可以采用环链表。找规律,找出递推式,可以用递推和递归)

f(n,m)=f(n-1,m)+m%n—————约瑟夫环规律

剑指offer——面试题:47不用加减乘除做加法采用位运算,先将两个数位异或运算,得到没有进位的相加数。接着将两个数位

与运算后左移一位。得到两个数的进位。若是这个进位不为0则继续递归下去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: