博客专栏  >  编程语言   >  剑指Offer代码笔记

剑指Offer代码笔记

剑指Offer代码笔记,记录主要思路和代码

关注
0 已关注
40篇博文
  • 面试题42. 翻转单词序列

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“st...

    2017-07-16 23:34
    34
  • 面试题33. 把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路1:...

    2017-06-29 11:19
    37
  • 面试题35. 第一个只出现一次的字符

    题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。 如:输入”abaccdeff”,则输出’b’的位置 1 思路1: ...

    2017-07-14 09:38
    32
  • 面试题44. 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话...

    2017-07-14 10:23
    35
  • 面试题36. 数组中的逆序对

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 ...

    2017-07-16 19:28
    249
  • 面试题66. 矩阵中的路径

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过...

    2017-06-28 15:23
    48
  • 面试题67. 机器人的运动范围

    题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时...

    2017-06-29 10:12
    218
  • 面试题3. 二维数组中的查找

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

    2017-06-01 19:07
    54
  • 面试题4. 替换空格

    题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。两种思路: 1. new一个新的...

    2017-06-01 21:51
    40
  • 只给出先序遍历和后序遍历不能唯一确定二叉树的例子

    先不考虑理论,记住一个例子:

    2017-06-02 09:34
    63
  • 面试题56. 链表中环的入口结点

    题目描述 一个链表中包含环,请找出该链表的环的入口结点。比如下面的链表,包含一个从3到5的环,3为这个环的入口节点,写个程序找到节点3。本题可用快慢指针的思想。设置两个指针p和q。p每次向前走一步,...

    2017-06-05 19:13
    105
  • 面试题8. 旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}...

    2017-06-06 09:51
    30
  • 面试题9. 斐波那契数列

    题目: 求斐波那契数列的第n项思路: 从小到大计算斐波那契数列,首先根据f(0)和f(1)计算出f(2),再根据f(1)和f(2)计算出f(3) 时间复杂度为O(n)扩展: 青蛙跳台阶问题 ...

    2017-06-06 10:38
    52
  • 面试题10. 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示第一种思路: 设置一个标志位1,每次向右移1位,然后与整数进行“与”运算“与”运算的次数等于整数的二进制位数,比如32位的整...

    2017-06-07 15:16
    22
  • 面试题11. 数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。public class Solution { public doub...

    2017-06-07 16:06
    26
  • 面试题14. 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。用两个list分...

    2017-06-07 20:50
    23
  • 面试题15. 链表中倒数第k个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点。设置两个指针,一个向前走k-1步,另一个不动。 需要注意:输入空指针的情况;链表长度小于k的情况;k为0的情况/* public class L...

    2017-06-07 21:11
    18
  • 面试题16. 反转链表

    题目描述 输入一个链表,反转链表后,输出链表的所有元素。/* public class ListNode { int val; ListNode next = null; Li...

    2017-06-07 21:19
    21
  • 面试题17. 合并两个排序的链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路: 设置两个指针,每一步都是谁小选谁,最后把剩余的加进去。/* public class ...

    2017-06-07 21:20
    25
  • 面试题18. 树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/** public class TreeNode { int val = 0; ...

    2017-06-08 08:44
    34

Windows C/C++/C# 编程
1306384899
FFmpeg
1353646719
经典算法研究
323273135
微软面试100题系列
183181629
Java开发进阶
663048236
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部