摘要: 1 题目 用两个站实现一个队列,队列的函数appendTail 和 delteHead(),分别完成在队列的尾部插入插入节点和队列的头部删除节点。 2 思路 1)添加,每次添加,都相应的对栈A添加元素。 2)删除操作。首先判断栈B是否为空?step1:如果B为空,则判断A是否为空?如果A也为空,则输 阅读全文
posted @ 2021-03-14 18:08 一地斜阳 阅读(59) 评论(0) 推荐(0)
摘要: 1 题目 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示的二叉树并输出它的头结点。 2 思路 1)首先确定 阅读全文
posted @ 2021-03-14 16:57 一地斜阳 阅读(74) 评论(0) 推荐(0)
摘要: 1 题目: 输入一个链表的头结点,从尾到头打印每个节点的值。链表定义如下: struct ListNode { int m_nkey; ListNode* m_pNext; } 2 思路 由于遍历的顺序是从头到尾,而输出的顺序是从尾到头,典型的后进先出,可以利用栈实现这种顺序。每经过一个节点,将其存 阅读全文
posted @ 2021-03-14 14:08 一地斜阳 阅读(64) 评论(0) 推荐(0)
摘要: 1 题目 请实现一个函数,吧字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。 2 思路 先遍历一次字符串,统计字符串中空格的总数。然后计算出替换后字符串的长度。 从字符串的后面向前开始复制替换。首先准备两个指针:p1和p2,p 阅读全文
posted @ 2021-03-13 16:08 一地斜阳 阅读(54) 评论(0) 推荐(0)
摘要: 1 题目:二维数组的查找 题目:在一个二维数组中,每一行都按照从左到右的递增的顺序排序。每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 2 思路 首先选取数组中的右上角数字,如果该数字等于要查找的数字,则查找过程结束;如果该数字大于要 阅读全文
posted @ 2021-03-13 14:24 一地斜阳 阅读(72) 评论(0) 推荐(0)
摘要: 1 题目:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次,请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复得的数字2或者3. 2 阅读全文
posted @ 2021-03-12 21:59 一地斜阳 阅读(66) 评论(0) 推荐(0)
摘要: 1 实现singleton模式 题目:设计一个类,我们只能生成该类的一个实例 2 解法一 思路: 1.将构造函数设置为私有函数禁止直接创造实例。 2.定义静态实例,在需要的时候创建 class Singleton { private: singleton(){};//对外禁用构造函数 singlet 阅读全文
posted @ 2021-03-11 22:58 一地斜阳 阅读(54) 评论(0) 推荐(0)
摘要: 1 赋值运算符函数 题目:如下为类型CMyString 的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char*pData = nullptr); CMyString(const CMyString& str); ~CMystring( 阅读全文
posted @ 2021-03-10 21:59 一地斜阳 阅读(72) 评论(0) 推荐(0)