2014百度校招筆試題

2021-06-18 14:19:24 字數 1061 閱讀 6367

二、演算法與程式設計題(本題共45分)

1. 使用c/c++編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型:char* reverse_str(char* str)。(15分)

演算法實現:

/*實現字串翻轉*/

char* reverse_str(char* str)

char *begin;

char *end;

begin = end = str;

while(*end != '\0') //end指向字串的末尾

--end;

char temp;

while(begin < end) //交換兩個字元

return str; //返回結果

}void main()

2. 給定乙個如下格式的字串,(1,(2,3),(4,(5,6),7))括號內的元素可以是數字,也可以是另乙個括號,請實現乙個演算法消除巢狀的括號,比如把上面的表示式變成:(1,2,3,4,5,6,7),如果表示式有誤請報錯。(15分)

分析:此題實際上考的是站的應用,即曾經練過的括號匹配問題。

演算法實現:

#include #include using namespace std;

/*判斷表示式是否合法*/

bool isvalid(char *str)

else if(*str == ')')

else

}if(op.empty())

return true;

else

return false;

}/*消除中間的括號*/

char *elimination_brackets(char *str)

*temp++ = *str++;

} *temp++ = ')'; //將有括號加上

*temp = '\0';

return result; }

void main()

}

2014百度校招筆試題

二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 cpp view plain copy 實現字串翻轉 char reverse str char ...

2014百度校招筆試題

二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 cpp view plain copy 實現字串翻轉 char reverse str char ...

百度2014校招筆試題(一)

演算法和程式設計題 1 題意 一幢大樓的底層有1001根電線,這些電線一直延伸到大樓樓頂,你需要確定底層的1001個線頭和樓頂的1001次線頭的對應關係。你有乙個電池,乙個燈泡,和許多很短的電線,你需要上下樓幾次才能確定電線接頭的對應關係 2 解答 註明 這裡每次上下樓都帶著電池和燈泡,以及每次介面...