剑指offer
jiaowopan
这个作者很懒,什么都没留下…
展开
-
剑指offer第4题 空格替换
先统计空格数目,然后从后往前处理 时间复杂度O(n)//将给定字符串中的空格替换成%20#include #include #include #include using namespace std;const int Max_Size = 500;char str[Max_Size];int main(){ while(cin.getli原创 2013-05-09 14:29:07 · 786 阅读 · 0 评论 -
剑指offer第6题 二叉树重建 九度OJ1385
剑指offer书中有个小错误,就是在57页第9行代码,在中序遍历中找根节点的值int* rootInorder = startInorder;while(rootInorder <= endInorder && *rootInorder != rootvalue) ++ rootInorder;应该改为int* rootInorder = startInorder;原创 2013-05-09 16:13:18 · 536 阅读 · 0 评论 -
剑指offer第10题
//二进制中1的个数#include using namespace std;//O(d),d为1的个数int NumberOf1(int n){ int ret = 0; while(n) { ++ret; n = n & (n-1); } return ret;}//O(sizeof(int)) int型数据需要32次in原创 2013-05-10 18:04:03 · 558 阅读 · 0 评论 -
剑指offer第3题 二维数组的查找 九度OJ 1384
//剑指offer第3题 二维数组的查找#include #include #include #include using namespace std;int arr[1005][1005];int m,n,t;bool bFind(int x,int y){ if(x > m || y < 1) return false; whil原创 2013-05-09 14:13:27 · 567 阅读 · 0 评论 -
剑指offer第1题 赋值运算符重载
赋值运算符重载//赋值运算符重载#include #include #include using namespace std;class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void); CMy原创 2013-05-10 16:49:52 · 530 阅读 · 0 评论 -
剑指offer 第5题 逆序打印链表
//从尾到头打印链表#include #include using namespace std;struct Node{ int value; Node* next;};void printReversely(Node* pHead){ stack istack; Node* pNode = pHead; while(pNode!=N原创 2013-05-09 15:02:56 · 590 阅读 · 0 评论 -
剑指offer第2题 单件模式
#include using namespace std;class Singleton{public:static Singleton& getInstance(){ static Singleton dp; return dp;}void message(){ cout<<"Singleton Message"<<en原创 2013-05-10 17:48:49 · 552 阅读 · 0 评论 -
剑指offer第8题 旋转数组 九度OJ1386
#include #include #include #include using namespace std;#define Max_Num 1000005int arr[Max_Num];int midInOrder(int arr[],int index1,int index2){ int min = arr[index1]; for(int原创 2013-05-10 10:19:40 · 560 阅读 · 0 评论 -
剑指offer第7题 两个栈实现队列
//两个栈实现队列#include #include #include using namespace std;template class myQueue{ public: myQueue(void){} ~myQueue(void){} void appendTail(const T& node); T deleteHead();原创 2013-05-09 16:59:24 · 449 阅读 · 0 评论 -
剑指offer 第4题扩展
//已知两个排好序的数组A1和A2,内存在A1的末尾有足够多的空间来容纳//A2,设计算法把A2插入到A1后面,使整体有序// 归并排序思想,从后往前处理#include #include #include #include #include using namespace std;void MergeSort(int arr1[], int a原创 2013-05-09 14:45:33 · 492 阅读 · 0 评论 -
剑指offer第9题及扩展 斐波那契数列
斐波那契数列,比较实用的O(n)方法 ( 有O(lgn)方法,但不实用)九度OJ 1387#include using namespace std;long long arr[72]; // 注意一定是longlong 否则会溢出int last;int main(){ std::ios::sync_with_stdio(false); last = 1;原创 2013-05-10 15:54:28 · 647 阅读 · 0 评论