【剑指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 · 303 阅读 · 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 · 392 阅读 · 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#includeus原创 2016-05-17 19:04:54 · 514 阅读 · 0 评论 -
【剑指offer】旋转数组的最小值
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入描述一个非递减序列的一个旋转数组输出描述输出旋转数组的最小元素题目分析 原数组最小的值必然是第一个,旋转后数组是原创 2016-05-09 11:00:11 · 918 阅读 · 0 评论