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

剑指offer笔记

剑指offer

关注
2 已关注
33篇博文
  • 剑指offer-面试题37.两个链表的第一个公共结点

    题目:输入两个链表,找出它们的第一个公共结点,链表结点的定义如下: 1 struct ListNode 2 { 3 int m_nKey; 4 ListNode* m_p...

    2016-04-08 13:04
    360
  • 剑指offer-面试题32.从1到n整数中1出现的次数

    题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字中1,10,11和12,1一共出现了5次   本题可以直接变量1到n的n个数然后...

    2016-04-08 13:02
    462
  • 剑指offer-面试题31.连续子数组的最大和

    题目:输入一个整型数组,数组里有正数也有负数。数组中一个或者连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度O(n)   本题可以把所有子数组全部找出来再求其和的最大值便可以得...

    2016-04-08 13:01
    381
  • 剑指offer-面试题30.最小的k个数

    题目:输入n个整数,找出其中最小的k个数,例如输入4,5,1,6,2,7,3,8 这8个数字,则最小的四个数字为1,2,3,4,   这道题是典型的TopK问题,剑指Offer提供了两种方法来实现...

    2016-04-08 12:54
    492
  • 剑指offer-面试题29.数组中出现次数超过一半的数字

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

    2016-04-08 12:53
    500
  • 剑指offer-面试题28.字符串的排列

    题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba.   此题的主要步骤由如...

    2016-04-08 12:52
    406
  • 剑指offer-面试题27.二叉搜索树与双向链表

    题目:输入一颗二叉搜索树,将该二叉搜索树转换为一个排序的双向链表。要求不能创建任何新的结点,只能调整树种结点指针的指向。比如输入下图的二叉搜索树,则输出转换后的双向排序链表。 1 ...

    2016-04-08 12:51
    351
  • 剑指offer-面试题26.复杂链表的复制

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

    2016-04-08 12:47
    327
  • 剑指offer-面试题25.二叉树中和为某一值的路径

    题目:输入一颗二叉树和一个整数,打印出二叉树中借点值得和为输入整数的所有路径。 从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 二叉树结点定义: 1 struct BinaryTre...

    2016-04-08 12:46
    269
  • 剑指offer-面试题24.二叉搜索树的后序遍历序列

    题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序,如果是,则返回true,如果不是则 返回false,假定输入的数组中任意两个数都不相等。   此题目我们以5,7,6,9,11,10,...

    2016-04-08 12:45
    290
  • 剑指offer-面试题23.从上往下打印二叉树

    题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 例如输入的二叉树,则依次打印出8、6、10、5、7、9、11二叉树结点的定义如下: 1 struct Binar...

    2016-04-07 20:55
    430
  • 剑指offer-面试题22.栈的压入,弹出序列

    题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 例如序列1、2、3、4、5是某栈的压栈序列,序列4、5、3、2、1是该压...

    2016-04-07 20:45
    337
  • 剑指offer-面试题21.包含min函数的栈

    题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 在该栈中,调用min,push及pop的时间复杂度都是O(1).   这一题实际上需要一个辅助栈存储最...

    2016-04-07 20:43
    318
  • 剑指offer-面试题20.顺时针打印矩阵

    题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如: 输入一个矩阵如下: 1 1 2 3 4 2 5 6 7 8 3 9 10 ...

    2016-04-07 20:36
    342
  • 剑指offer-面试题19.二叉树的镜像

    题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。  二叉树节点定义如下: 1 strcut BinaryTreeNode 2 { 3 int val; 4 strcut ...

    2016-04-07 20:34
    215
  • 剑指offer-面试题18.树的子结构

    题目:输入两棵二叉树A和B,判断B是不是A的子结构。 二叉树节点定义如下: 1 struct BinaryTreeNode 2 { 3 int m_nValu...

    2016-04-07 20:29
    582
  • 剑指offer-面试题17.合并两个排序的链表

    题目:输入两个递增的排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。 例如链表1链表2合并为链表3. 1 List1:1->3->5->7 2 3 List2:2->4-...

    2016-04-07 20:28
    289
  • 剑指offer-面试题16.反转链表

    题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的头结点 链表结点定义如下: 1 struct ListNode 2 { 3 int m_nKey; 4 ...

    2016-04-07 20:26
    252
  • 剑指offer-面试题15.链表中倒数第k个结点

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

    2016-04-07 20:25
    293
  • 剑指offer-面试题14.调整数组顺序使奇数位于偶数的前面

    题目:输入一个整数数组,实现一个函数来调整该数组中的数字的顺序,使得所有的奇数位于数组的前半部门,所有的偶数位于数组的后半部门。   这一题一看其实是很简单的,当然在不考虑效率的情况可以这...

    2016-04-07 20:23
    325
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部