- 博客(5)
- 收藏
- 关注
原创 面试题7:用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 template <typename T> class CQueue { public: CQueue(void); ~CQueue(void); void appendTail(const T& node);
2015-09-14 22:35:45
280
原创 面试题6:重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不包含重复的数字。例如输入前序遍历序列{1, 2, 4, 7, 3, 5, 6, 8}和中序遍历{4, 7, 2, 1, 5, 3, 8, 6},则重建出图2.6所示的二叉树并输出它的头结点。二叉树节点的定义如下:struct BinaryTreeNode { int value;
2015-09-12 21:16:01
250
原创 面试题5:从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。 链表定义结构如下:struct ListNode { int value; ListNode * pNext; }通常遍历的顺序是从头到尾的顺序,可输出的顺序确是从尾到头。也就是说第一个遍历到的节点最后一个输出,而最后一个遍历到的节点第一个输出。这就是典型的“后进先出”,我们可以用栈实现这种顺序。每经过一个节点的时候,
2015-09-10 22:33:25
246
原创 面试题4:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出”We%20are%20happy.”。我们可以先遍历一次字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换之后的字符串的总长度。每替换一个空格,长度增加2,因此替换以后字符串的长度等于原来的长度加上2乘以空格数目。我们还是以前面的字符串We are happy.”为例,We are
2015-09-07 22:24:33
310
翻译 面试题3:二维数组中的查找
面试题3:二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2015-09-07 20:42:14
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人