面試題1:數值的整數的次方
題目:實現函式double power(double base, int exponent),求base的 exponent次方。不得使用庫函式,同時不需要考慮大數問題。
思路:首先應該明確指數的可能取值:正整數,0,負整數;另外還需要考慮底數是0的情形。對於負整指數,我們可以想對指數求絕對值,然後算出次方的結果再取倒數。
**:
#include "stdafx.h"
#include bool g_invalidinput = false;
bool equal(double num1, double num2);
double powerwithunsignedexponent(double base, unsigned int exponent);
double power(double base, int exponent)
unsigned int ab***ponent = (unsigned int)(exponent); //正數
if(exponent < 0)
ab***ponent = (unsigned int)(-exponent); //轉換為正數
double result = powerwithunsignedexponent(base, ab***ponent);
if(exponent < 0)
result = 1.0 / result; //求倒
return result;}
/*double powerwithunsignedexponent(double base, unsigned int exponent)
*/double powerwithunsignedexponent(double base, unsigned int exponent)
bool equal(double num1, double num2)
// ********************測試**********************
void test(double base, int exponent, double expectedresult, bool expectedflag)
int _tmain(int argc, _tchar* argv)
《劍指offer》面試題11 反轉鍊錶
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。這個題目的題意其實非常簡單,最開始我們的鍊錶的指向是這樣的 將其改變反向,變成如下所示的方向即可 可以看到最開始我們的表頭指向了none,然後表尾卻指向了倒數第二個鍊錶,中間的鍊錶指向全部反向,這也就是這個題目要讓我們幹的事情。那麼我們如何實現這個鍊錶的反...
劍指offer面試題7
面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...
劍指offer面試題15
面試題15 鍊錶中倒數第k個結點 題目 輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即鍊錶的尾結點是倒數第乙個結點。例如乙個鍊錶有6個結點,從頭結點開始它們的值依次是1 2 3 4 5 6。這個鍊錶的倒數第3個結點是值為4的結點。預備知識 鍊錶結點的定義如下 ...