微軟2014筆試題21題解答(有點挫)

2021-06-18 14:46:41 字數 802 閱讀 6140

題目如上圖所示。這裡給出兩種解法:第一種是自己想的,時間複雜度o(n^2);第二種方法實現的是實驗室乙個大牛的想法,時間複雜度o(n)。

**如下:

void reorder1(node * root)

changetimes = sum / 2;

if (sum & 0x01)

insert_num = changetimes;

stopnode = root;

while (changetimes--)

while (stopnode->next )

next = cur->next;

cur->next = this1;

this1->next = next; }}

void reorder2(node * rootp)

changetiems = sum / 2;

if (sum & 0x01)

while (changetiems--)

next2 = phead2->next;

phead2->next = null;

for (pre2 = null; (phead2 = next2) != null;)

next2 = pre2;

phead1 = rootp;

while ((phead2 = next2) != null)

}

經過測試,執行無誤!!!

杭電計算機複試2014筆試題目解答

1.如果輸入了乙個單詞,直到檢測到空格算是乙個單詞,行的長度不超過80個字元,超過了提前換行,每行的開頭單詞沒有空格 2.如果遇到 則換行3.如果遇到,如果不是在開頭則先換行,再輸出80個 並換行,在開頭的話直接 輸出80個 並換行 4.最後一行以換行符結束 include includeconst...

陣列拆分 微軟2017筆試題

給定乙個長度為n的陣列a a1,a2,an 請你將a拆分成3段連續的子陣列 a1,a2,ap ap 1,ap 2,aq aq 1,aq 2,an 令s1 a1 a2 ap s2 ap 1 ap 2 aq s3 aq 1 aq 2 an 問有多少種劃分方案可以使得s1,s2,s3兩兩相差不超過1.n ...

杭電計算機複試2015筆試題解答

給定乙個字串,計算字串中數值的個數並求和。其中還包含了負號,若 緊跟負號的是乙個數值,則表示這是乙個負數,若後面跟著的不是數字,則不表 示什麼。輸入 乙個字串 輸出 數值個數 數值和 列子輸入 312ab 2 9 a 輸出 3 301 與2010年的試題2類似字串中提取數字並求和 可以選擇把乙個數先...