博客专栏  >  编程语言   >  剑指offer

剑指offer

通过Java源码,完成剑指offer的面试题。

关注
0 已关注
25篇博文
  • 两个链表的第一个公共节点

    题目: 输入两个链表,找出他们的第一个公共节点。 输入: 单链表A:4,3,2,1,单链表:3,2,1 输出: 3 解题思路: 1、得到两个链表的长度,链表A...

    2016-06-15 16:04
    683
  • 面试题35 第一个只出现一次的数组

    题目: 在字符串中找出第一个只出现一次的字符,如输入“helloWorld”,则输出“H”,要求时间复杂度为0(N) 输入: 字符串:helloWorld 输出: 字符:h 解题思路: ...

    2016-06-15 15:28
    262
  • 面试题31 连续子数组的最大和

    题目: 输入一个整形数组,数组中一个或者多个数组组成一个子数组,求所有子数组和的最大值,要求时间复杂度为0(n). 输入: {1,2,-1,4,6,8,-6}; 输出: 21 解题思路...

    2016-06-15 15:07
    217
  • 面试题29 数组中超过一半的数字

    题目: 数组中有一个数字的出现次数超过了数组的一半,请找出这个数字,例如输入一个长度为8的数组{1,3,7,7,7,7,7,5},由于7出现了5次,所以输出7. 输入: {1,3,7...

    2016-06-15 14:37
    131
  • 面试题26 复杂链表的复制

    题目: 请实现函数ComplexListNode(LinkNode head),复制一个复杂链表。在复杂链表中,出了有Next指针意外,还有一个Sibling指向链表中的任意节点或者Null,节点定...

    2016-06-15 14:22
    187
  • 面试题 25 二叉树中的和为某一值的路径

    题目: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 输入: 二叉排序树序列:8,2,7,10...

    2016-06-15 14:10
    202
  • 面试题24 二叉搜索树的后序遍历序列

    题目: 输入一个整数数组,判断该数组是不是某二叉排序树的后序遍历。如果是返回true,否则返回false。假设该数组 任意两个数都不相同。 输入: 二叉搜索树后序遍历序列:7,6,4,5 ...

    2016-06-15 12:13
    289
  • 从上到下打印二叉树

    题目: 从上到下打印每个二叉树节点的值,用一层按照从左到右的顺序。也就是层序遍历。 输入: 输出: 50 20 60 15 30 70  解题思路: 从根节点分析,我们要把一个...

    2016-06-14 12:39
    186
  • 面试题22 栈的压入、弹出序列

    题目: 输入人两个整数数列,第一个序列为栈的压入序列,判断第二个序列是否为栈的弹出序列。 输入: 压入序列A:1,2,3,4,5和弹出序列B:4,5,3,1,2 输出: false 解...

    2016-06-14 12:24
    185
  • 面试题21 包含Min函数的栈

    题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数,在该栈中,请用mim,push,pop的时间复杂度都为O(1) 输入: 10,20,9 输出: 最小元素:9 ...

    2016-06-14 11:55
    216
  • 顺时针打印矩阵

    题目: 输入一个矩阵,按照从外向里的方式按照顺时针依次打印出每一个数字。 输入: {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11,12,13,14,15}, ...

    2016-06-14 01:35
    407
  • 面试题19 二叉树的镜像

    题目: 输入一个二叉树,输出该二叉树的镜像 输入: 二叉排序树的前序遍历:8 2 4 7 9 10  输出: 该二叉树的镜像的前序遍历:8 9 10 2 4 7  解题思路: 本质上就是...

    2016-06-14 00:49
    179
  • 面试题18 树的子结构

    题目: 输入两个二叉树A和B,判断B是不是A的子结构,二叉树的结构如下: public class Node{ public Node(int data){ this.data=data;...

    2016-06-14 00:36
    305
  • 面试题17 合并两个排序链表

    题目: 输入两个递减链表,合并这两个链表之后的节点依然是按递减排序的。如下所示,让链表一和链表二变成链表三。 链表一: 链表二: 链表三: 输入: 链表一和链表二都...

    2016-06-13 22:26
    233
  • 面试题15 链表中到户第K个节点

    题目: 输入一个链表,输出该链表中倒数第K个节点。为了符合少数人的习惯,本题从4开始计数,从头结点到尾节点依次为4,3,2,1,。倒数第3个节点为2. 输入: 一个头插法的单链表(4,3,2,1),和...

    2016-06-13 20:30
    182
  • 调整数组顺序使奇数位于偶数前面

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,是的所有奇数位于数组的前半部分,偶数位于后半部分。其实还有后半段,就是考虑函数的扩展性,当然书中另外说明了。 输入: 任意正整数序...

    2016-06-13 20:04
    299
  • 面试题11 :O(1)删除单链表节点

    题目: 写一个函数delectNode(Node header,Node delectNode),在O(1)的时间删除该节点。 输入: 输入一个头插法的单链表。从头到尾是321,要删除的节点是链...

    2016-06-13 17:23
    791
  • 数值的整数次方

    题目: 实现函数Power(double base,int exponed),求base的exponed次方,不能使用库函数,不需要考虑大数问题。 输入: 输入一个浮点型数字和一个整数数字(不管...

    2016-06-13 15:58
    289
  • 面试题10 二进制中1的个数

    题目: 请实现一个函数,输入一个整数,输出该数二进制1的个数。例如2为0010,该函数输出1. 输入: 一个整数(不管正负) 输出: 该整数1的个数 解题思路: 最先想到的方法是该整数与...

    2016-06-13 15:25
    218
  • 面试题九斐波那契和青蛙跳台阶

    题目: 要求输入一个整数n,请你输出斐波那契数列的第n项。 如下: 输入: 一个正整数n 输出: 斐波那契数列的第n项 解题思路: 有两种,是通过递归来实现,这种方法最...

    2016-06-13 15:03
    257
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部