【剑指offer】
Always__
这个作者很懒,什么都没留下…
展开
-
【剑指offer】二维数组中的查找
题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 #include #include using namespace std; #define M 100 #define N 100 #include bool Find(int array[][N原创 2016-04-09 11:21:18 · 302 阅读 · 0 评论 -
【剑指offer】懂二进制
题目描述世界上有10种人,一种懂二进制,一种不懂。 那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? int countBitDiff(int m, int n) { int num = m^n; int i = 0; int count=0; while (i<32) { int tmp=1 << i; if (tmp&num)原创 2016-04-09 11:25:35 · 391 阅读 · 0 评论 -
【剑指offer】从尾到头打印链表
***************从尾到头打印链表*************************** 思路1:借助栈结构来实现: vector printListFromTailToHead(struct ListNode* head) { stack vestack; vector ret; while (head != NULL) { vestack.push(head->原创 2016-04-09 11:32:15 · 320 阅读 · 0 评论 -
【剑指offer】空格替换
题目描述: 请实现一个函数,将一个字符串中的空格替换成“ % 20”。例如,当 字符串为We Are Happy.则经过替换之后的字符串为We % 20Are % 20Happy。 void replaceSpace(char str[], int Length) { assert(str != NULL || Length > 0); int num=0; int len原创 2016-04-09 11:34:29 · 413 阅读 · 0 评论 -
【剑指offer】重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 //Definition for binary tree struct TreeNode { int val; TreeN原创 2016-04-09 11:38:29 · 346 阅读 · 0 评论 -
【剑指offer】两队列实现栈与两栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现他的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能 在完成代码之前应该想清楚测试用例: 1,在空的队列(栈)里添加删除元素。 2,往非空的队列(栈)里添加删除元素。 3,连续删除元素直至队列(栈)为空。 两队列实现栈: #include #include us原创 2016-05-17 19:04:54 · 512 阅读 · 0 评论 -
【剑指offer】旋转数组的最小值
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 输入描述 一个非递减序列的一个旋转数组 输出描述 输出旋转数组的最小元素 题目分析 原数组最小的值必然是第一个,旋转后数组是原创 2016-05-09 11:00:11 · 918 阅读 · 0 评论