摘要: // 面试题64:求1+2+…+n // 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case // 等关键字及条件判断语句(A?B:C)。 #include // ====================方法一==================== //使用构造函数 class Temp { public: Temp() { +... 阅读全文
posted @ 2019-03-18 13:56 深夜十二点三十三 阅读(231) 评论(0) 推荐(0) 编辑
摘要: // 面试题68:树中两个结点的最低公共祖先 // 题目:输入两个树结点,求它们的最低公共祖先。 #include #include "Tree.h" #include using namespace std; bool GetNodePath(const TreeNode* pRoot, const TreeNode* pNode, list& path)//找到根节点到指定节点的路... 阅读全文
posted @ 2019-03-18 13:31 深夜十二点三十三 阅读(188) 评论(0) 推荐(0) 编辑
摘要: // 面试题67:把字符串转换成整数 // 题目:请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不 // 能使用atoi或者其他类似的库函数。 #include long long StrToIntCore(const char* str, bool minus); enum Status { kValid = 0, kInvalid }; int g_nStat... 阅读全文
posted @ 2019-03-18 12:38 深夜十二点三十三 阅读(160) 评论(0) 推荐(0) 编辑
摘要: // 面试题66:构建乘积数组 // 题目:给定一个数组A[0, 1, …, n-1],请构建一个数组B[0, 1, …, n-1],其 // 中B中的元素B[i] =A[0]×A[1]×… ×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 #include #include using namespace std; //把B[i]看成[=A[0],A[1],… ,A[i-... 阅读全文
posted @ 2019-03-18 08:59 深夜十二点三十三 阅读(181) 评论(0) 推荐(0) 编辑
摘要: // 面试题65:不用加减乘除做加法 // 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷ // 四则运算符号。 #include int Add(int num1, int num2) { int sum, carry; do { sum = num1 ^ num2;//第一步,使用异或求和(没有进位) ca... 阅读全文
posted @ 2019-03-18 08:27 深夜十二点三十三 阅读(193) 评论(0) 推荐(0) 编辑