博客专栏  >  编程语言   >  算法题解-java

算法题解-java

用java解决《剑指offer》中的算法题

关注
0 已关注
20篇博文
  • 剑指offer面试题40-数组中只出现一次的数字

    题目: 一个整形数组里除了两个数字意外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 要求时间复杂度是On,空间复杂度为O1 这个是上一篇 2016阿里巴巴java笔试题 的...

    2015-08-31 13:51
    1125
  • 剑指offer面试题29-数组中出现次数超过一半的数字

    题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5此,超过数组长度的一半,因此输出2 ...

    2015-08-30 16:56
    619
  • 剑指offer面试题28-字符串的排列

    题目: /** * 输入一个字符串,打印出该字符串中字符的所有排列。 * 例如输入字符串abc,则打印出由字符串abc所能排列出来的所有字符串abc,acb,bca,cab和cba。 * */...

    2015-08-25 17:59
    583
  • 剑指offer面试题27-二叉搜索树转双向链表

    题目: /** * 输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。 * 要求不能创建任何新的节点,只能调整树中节点指针的指向。 *  * */ 然后基本要实现的功...

    2015-08-25 17:53
    510
  • 剑指offer面试题25-二叉树中和为某一值的路径

    题目: 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。 从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 其实就是树的遍历。 在遍历的同时记录下来轨...

    2015-08-24 22:27
    551
  • 剑指offer面试题26-复杂链表的复制

    题目: 请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。 在复杂链表中,每一个节点除了一个m_pNext指针指向下一个节点外,...

    2015-08-24 23:03
    668
  • 剑指offer面试题24-二叉搜索树的后序遍历序列

    题目: /*  * 输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。  * 如果是则返回true,否则返回false。  * 假设输入的数组的任意两个数组都互不相同  * *...

    2015-08-24 17:00
    580
  • 剑指offer面试题23-从上往下打印二叉树

    题目:  从上往下打印出二叉树的每个节点,每一层的节点展昭从左到右的顺序打印。 就是树的广度遍历。 用队列,把树的子节点放到队列中。 public class ...

    2015-08-24 16:36
    738
  • 剑指offer面试题21-包含min函数的栈

    题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 在该栈中,调用min,push,pop的时间复杂度都是O(1) public class StackWi...

    2015-08-24 16:31
    579
  • 剑指offer面试题20-顺时针打印矩阵

    题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 如: 1-2-3-4 5-6-7-8 9-10-11-12 13-14-15-16 的矩阵,打印结果为:1,2,3...

    2015-08-24 16:25
    787
  • 剑指offer面试题18-树的子结构

    题目: 输入两颗二叉树A和B,判断B是不是A的子结构。 树的结构如下: package com.aii.algorithm; public class TreeNode { int value;...

    2015-08-23 20:15
    879
  • 剑指offer面试题17-合并两个排序的链表

    题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。 这个和归并排序差不多,只要记录好指针,不要让链表断掉就行了。 以及一些特殊情况的判断。 package ...

    2015-08-23 19:32
    657
  • 剑指offer面试题16-反转链表

    题目: 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 保证链表不断是关键,用临时变量记录一些值。 package com.aii.algorithm; publi...

    2015-08-23 19:32
    635
  • 剑指offer面试题15-链表中倒数第k个节点

    题目: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如一个链表有6个节点,从头结点开始他们的值依次是1、2、3、4、5、6,...

    2015-08-22 21:17
    493
  • 剑指offer面试题14-调整数组顺序使奇数位于偶数前面

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 前后分的这个,,让我想起来快速排序,好吧,就用这个做。 考虑...

    2015-08-22 19:29
    634
  • 剑指offer面试题12-打印1到最大的n位数

    题目: 输入一个数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3最大的三位数即999 这道题的主要陷阱就在大数的处理,只要将这个考虑进去,用字符串来表示,就好说了...

    2015-08-22 15:51
    812
  • 剑指offer面试题13-在O(1)时间删除链表的节点

    题目: 给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。 要想在O(1)时间搞定,绝对不能用遍历。 这里采用将后面的一个节点复制到当前节点的方法。 不...

    2015-08-22 14:52
    728
  • Singleton的三种形式+怎么实现真正的单例

    以前用singleton的时候就接触过饿汉懒汉两种 最近书上看到一个对于我来说是新的方法,感觉还是很不错的 这里将三种方法放一起,比较总结一下 一、饿汉式 package com.ai...

    2015-08-19 19:57
    623
  • 剑指offer面试题5-从尾到头打印链表/6-重建二叉树

    题目5: 对于一个单链表,已知他的头结点,要求从尾到头打印里面的内容。 思路: 手上有头,要从尾到头打印,首先想到的是栈。 想到了栈,真要去实现,发现有一个更巧的方法,同样是栈--递归。 ...

    2015-08-19 00:18
    574
  • 剑指offer面试题3-二维数组中的查找

    题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该函数: public bool...

    2015-04-28 00:08
    716

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部