![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
面试题:替换空格题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We aer happy.”
面试题:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We aer happy.”。
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
面试题:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We aer happy.”。
面试题:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2.
面试题:翻转单词顺序VS左旋转字符串
题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串 "I am a student",则输出 "student.a am I " 。
题目二:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串 "abcdefg "和数字2,该函数将返回左旋转2位得到的结果 " cdefgab "。
面试题:复杂链表的复制
题目:请实现函数ComplexListNode*Clone(ComplexListNode*pHead),复制一个复杂链表中,每个结点除了有一个m_pSibing指向链表中的任意结点或者NULL。结点的C++定义如下:
struct ComplexListNode
{
Int m_nValue;
ComplexListNode* m_pNext;
ComplexListNode* m_pSibling;
};
面试题:用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTaik和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
template <typename T>class CQueue
{
public:
coueue (void);
~CQueue (void)j
void appendTail (constT&node);
T deleteHead();
private:
stack<T> stack1;
stack<T> stack2;
};
面试题:包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。
面试题:二叉树的镜像
题目:请完成一个函数,输入一个二叉数,该函数输出它的镜像。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_nValue;
BinaryTreeNode* m_ pleft;
BinaryTreeNode* m_pRight ;
};
面试题:数值的整数次方
题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得保用库函数,同时不需要考虑大数问题。
面试题:不用加减乘除做加法
题目:写一个函数,求两个整数之各,要求在函数体内不得使用+、-、×、÷四则运算符号。
面试题:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
面试题:斐波那契数列
题目一:写一个函数,输入n,求裴波那契(Fibonacci)数列的第n项。裴波那契数列的定义如下:
题目二:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。