摘要:
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。参见Leetcode-Find Minimum in Rotated Sorted ... 阅读全文
摘要:
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 1 template 2 class CQueue 3 { 4 public: 5 CQueue(); 6 ... 阅读全文
摘要:
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不包含重复的数字。根据前序和中序遍历结果重构二叉树,参见LeetCode-Construct Binary Tree from Preorder and Inorder Traversal。根据中序... 阅读全文
摘要:
题目:输入一个链表的头结点,从尾到头反过来打印链表。链表结点定义如下:struct ListNode{ int val; ListNode* m_pNext; };思路:利用栈 1 void printListReverse(ListNode* pHead) 2 { 3 ... 阅读全文
摘要:
题目:请实现一个函数,把字符串中的每个空格替换成”%20“。例如输入”We are happy.",则输出“We%20are%20happy."。 1 void replaceBlank(char string[], int length) 2 {//length为string的总容量 3 ... 阅读全文
摘要:
解法一:只适用与单线程环境上述代码通过将构造函数定义为私有函数,并且只有在instance为空时才创建实例来确保只能创建一个实例。解法二:虽然在多线程环境中能工作但效率不高解法一存在的问题:在多线程环境下,如果两个线程同时进行if判断,并且instance的值为空,此时两个线程都会创建实例。解决方案... 阅读全文
摘要:
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。参见LeetCode-Search a 2D Matrix 阅读全文
摘要:
题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{ public: CMyString(char* pData = NULL); CMyString(const CMyString&str); ~CMyString(void)... 阅读全文