码迷,mamicode.com
首页 >  
搜索关键字:剑指offer c++    ( 3728个结果
剑指Offer面试题22(Java版):栈的压入、弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,序列,4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从该栈...
分类:编程语言   时间:2015-08-03 21:05:56    阅读次数:261
剑指Offer面试题19(Java版):二叉树的镜像
请完成一个函数,输入一个二叉树,该函数输出它的镜像。...
分类:编程语言   时间:2015-08-02 18:18:53    阅读次数:168
栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 拿到这道题的时候,首先想着是把所有的不可能的出栈序列找出来,然后寻找和出栈序列之间的规律,但是找了好久没找到。看了一下书上的...
分类:其他好文   时间:2015-08-02 13:49:49    阅读次数:117
剑指offer习题集
1.重载赋值运算符函数:(具体见代码)//普通做法CMyString& CMyString::operator=(const CMyString& str){ if (this == &str) return *this; delete[] m_Pdata; m_P...
分类:其他好文   时间:2015-08-01 23:27:43    阅读次数:121
剑指Offer面试题17(Java版):合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图中的链表1和链表2,则合并之后的升序链表3所示。 这是一个经常被各公司采用的面试题。在面试过程中,我们发现应聘者最容易犯两个错误:一是在写代码之前没有对合并的过程想清楚,最终合并出来的链表要么中间断开要么并没有递增排序;二是代码的鲁棒性方面存在问题,程序一旦有特殊的输入(如空链表)就会崩溃。接下...
分类:编程语言   时间:2015-08-01 22:04:20    阅读次数:146
剑指Offer面试题15(Java版):链表中倒数第K个结点
题目: 输入一个链表,输出该链表中倒数第k哥结点。  为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。  例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点 为了得到第K个结点,很自然的想法是先走到链表的尾端,再从尾端回溯K步。可是我们从链表结点的定义可疑看出本题中的链表 是单向链表,单向链表的结点只有从...
分类:编程语言   时间:2015-08-01 17:30:16    阅读次数:123
剑指Offer面试题16(Java版):反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的。很多的面试官喜欢出链表相关的问题,就是想通过指针操作来考察应聘者的编码功底。为了避免出错,我们最好先进行全面的分析。在实际软件开发周期中,设计的时间通常不会比编码的时间短。在面试的时候我们不要急于动手写代码,而是一开始仔细分析和涉及,这将会给面...
分类:编程语言   时间:2015-08-01 17:19:10    阅读次数:150
剑指offer面试题14(Java版):调整数组顺序使奇数位于偶数的前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 1、基本实现: 如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有的数字往前面挪动一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。由于没碰到一个偶数就需要移动O(n)个数字,因此总的时间复...
分类:编程语言   时间:2015-08-01 14:22:50    阅读次数:189
(剑指Offer)面试题52:构建乘积数组
题目:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路:方法1:直接连乘n-1个数,得到B[i];时间复杂度:O(n^2)方法2:构建前向乘积...
分类:编程语言   时间:2015-07-31 21:44:04    阅读次数:181
(剑指Offer)面试题51:数组中重复的数字
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。思路:1、排序将数组排序,然后...
分类:编程语言   时间:2015-07-31 21:41:56    阅读次数:129
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!