微軟面試百題009 按詞反轉句子

2021-07-16 15:21:40 字數 664 閱讀 8342

翻轉句子中單詞的順序。

題目:輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。

句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。

例如輸入「i am a student.」,則輸出「student. a am i」。

我們先將句子的內容儲存下來,然後開闢乙個棧,以單詞為單位不斷的pop出,這是最好考慮也是最噶小的做法了:

附上**:

#include"iostream"

#include"cstdio"

#include"cstdlib"

#include"cstring"

#define n 100

using namespace std;

class sentence

void set()

}getchar();

} void pop()

}void print()

private:

char juzi[n];

char result[n];

int num; //兼具了棧的top成員的任務

int numr;

};int main()

微軟面試百題007 鍊錶相交

給出倆個單向鍊錶的頭指標,比如h1,h2,判斷這倆個鍊錶是否相交。為了簡化問題,我們假設倆個鍊錶均不帶環。問題擴充套件 1.如何判斷鍊錶存在環 2.如果需要求出倆個鍊錶相交的第乙個節點列?1.如何判斷鍊錶帶環 我們加入兩個指標,乙個快指標,乙個慢指標,快指標一次前進2個單位,慢指標一次前進乙個單位 ...

微軟面試百題003(歸併排序 動態規劃)

請在o n 時間複雜度之內求出陣列的子陣列最大和 在這裡我們詳細來講解兩種思路 o n logn 分治法 歸併排序 本博主的歸併排序求最大子陣列的詳解 o n 動態規劃 我們這裡採用動態規劃的思路來解釋一下,動態規劃的核心在於縮小問題的規模 我們這裡需要先作如下幾個準備操作 1.定義狀態 2.定義狀...

從零單排之微軟面試100題系列 08之反轉鍊錶

本題目選自july大神部落格系列 微軟面試100題 july大神,該系列我主要用來記錄我的學習筆記。題目描述 使用遞迴和不遞迴兩種方法反轉鍊錶。本題亦見於 劍指offer 面試題16 遞迴方法 node reverse node phead 非遞迴方法 因在迭代過程中,鍊錶會出現斷裂,因此需要3個指...