码迷,mamicode.com
首页 >  
搜索关键字:剑指offer c++    ( 3728个结果
【剑指offer 面试题17】合并两个排序的链表
思路: 比较两个链表端点值的大小,通过递归的方式排列。 1 #include 2 using namespace std; 3 4 struct ListNode 5 { 6 int val; 7 ListNode *next; 8 ListNode(int v = 0...
分类:编程语言   时间:2015-06-22 16:11:07    阅读次数:123
【剑指offer 面试题14】调整数组顺序使奇数位于偶数前面
思路: 头尾指针,向中间遍历,依据条件交换元素。 1 #include 2 using namespace std; 3 4 void reOrder(int *pData, unsigned int len, bool (*func)(int)) 5 { 6 if(pData == ...
分类:编程语言   时间:2015-06-20 18:22:46    阅读次数:163
【剑指offer】面试题17、合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图中的链表 1 和链表 2,则合并之后的升序链表如链表 3 所示。链表结点定义如下:typedef struct Node{ int m_nValue; struct Node *m_pNext;...
分类:编程语言   时间:2015-06-20 14:18:12    阅读次数:169
【剑指offer】设置在最小数目的阵列
转载请注明出处:http://blog.csdn.net/ns_code/article/details/28128551题目描写叙述:输入一个正整数数组,把数组里全部数字拼接起来排成一个数。打印能拼接出的全部数字中最小的一个。比如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为3...
分类:其他好文   时间:2015-06-20 10:28:51    阅读次数:148
【剑指offer】面试题14、调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来解决该数组中数字的位置,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。本题思路较为简单,我们只需维护两个指针:第一个指针pHead 初始化为数组的第一个元素,第二个指针pTail 初始化为数组的最后一个元素。根据题目要求:所有奇数位于数组的前半部分...
分类:编程语言   时间:2015-06-19 21:36:22    阅读次数:173
剑指Offer——反转单词顺序(Java)
问题描述:输入一个英文句子,反转句子中的单词的顺序,但单词内字符的顺序不变;(为简单起见,标点符号与普通字符当做一样处理) 示例       :输入:“I am a student.”                  输出: “.student a am I” 策略      :策略是先反转整个字符串,在根据空格划分单词,然后依次反转每个单词 代码      : public clas...
分类:编程语言   时间:2015-06-19 18:47:31    阅读次数:129
剑指offer-第三章高质量代码(树的子结构)
题目:输入两个二叉树A和B,判断B是不是A的子结构。思路:遍历A树找到B树的根节点,然后再判断左右子树是否相同。不相同再往下找。重复改过程。子结构的描述如下图所示:C++代码:#includeusing namespace std;struct BinaryTreeNode{ int ...
分类:其他好文   时间:2015-06-18 14:58:26    阅读次数:155
225 Implement Stack using Queues(用队列实现栈)
题目意思:用队列实现栈,push(),pop(),top(),empty()思路:用两个queue,pop时将一个queue的元素pop再push到另一个队列,queue只留最后一个元素,并pop,再将目标队列变为另一个 ps:用栈实现队列,参考剑指offer 1 class Stack { 2 ....
分类:其他好文   时间:2015-06-17 10:52:17    阅读次数:85
【剑指offer】面试题八:旋转数组的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为 1.解法一: 这道题最直观的解法就是遍历一遍数组,这样我们就能找到最小的元素。这种思路...
分类:编程语言   时间:2015-06-16 21:11:07    阅读次数:197
剑指offer—第三章高质量代码(合并两个排序链表)
题目:输入员两个递增排序的链表,合并这两个链表并使新的链表中的结点仍然是按照递增排序的。思路:首先,定义两个头节点分别为Head1和Head2的链表,然后比较第一个节点的值,如果是Head1->mValue比Head2->mValue小,那么头节点,就是Head1,递归实现后面的节点的排序。C++代...
分类:编程语言   时间:2015-06-15 16:15:10    阅读次数:138
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!