字串高頻面試題。

2021-07-02 00:17:59 字數 1945 閱讀 2498

(一)

題目:把乙個01(只包含0和1的串)串進行排序。  可以交換任意兩個位置,求最少交換的次數。

方法:仿造快速排序裡面的partition的過程。。。最左邊的0和1是沒有意義的,從左到右掃到第乙個1,從右到左掃到第乙個0,然後交換,然後繼續掃下去,就ok啦。。

**:

#include #include #define maxn 1000

using namespace std;

int main(int argc, const char * argv)

cout << answer << endl;

return 0;

}

(二)題目:給定乙個字串,刪除裡面所有的a,並且複製裡面所有的b,注意:字串陣列足夠大。

方法:所有的操作都在原先的字元床上進行,在刪除a的過程中記錄下字元b的個數,然後在複製b的時候,為了減小複雜度,採用倒著複製的方法。

**:

#include #include #include #define maxn 1000

using namespace std;

int main(int argc, const char * argv)

str[n] = '\0';

int newlength = n + numb;

str[newlength] = '\0';

for(int i = newlength - 1, j = n - 1; j >= 0; --j)

printf("%s\n", str);

return 0;

}

(三)題目:給定乙個字串,裡面只包含*號還有數字,把*全部放到開頭。

方法(1):利用快速排序裡面的partition的思想,但是這種方法會使數字的相對位置發生變化,是不穩定的。

方法(2):利用前面乙個題目的思想,也就是倒著複製的思想。這種方法,演算法前跟演算法後,數字的相對順序是不變的,是穩定的。

方法一的**:

for(int i = 0, j = 0; i < n; ++i)

方法二的**:

int j = n-1;

for(int i = n-1; i >= 0; --i)

for(; j >= 0; --j)

(四)題目:單詞翻轉,意思就是一句英文,然後要讓所有單詞的順序倒過來,第乙個單詞變成最後乙個,然後倒數第二個變成順數第二個。

方法:先針對整個句子,全部翻轉一遍,然後再針對翻轉後的句子裡面的每個單詞,分別翻轉一次。

**:

#include #include #include #define maxn 1000

using namespace std;

int main(int argc, const char * argv)

cout << str << endl;

return 0;

}

(五)題目:給定乙個字串,長度為n,向右移動m次,然後求移動以後的結果。

方法:不管他們的大小關係,最後的結果都是移動m%n的結果。

移動前跟移動後是有兩段的順序是不變的,所以可以把這兩段看成兩個整體

右移m位的過程就是把陣列的兩部分交換一下。

交換的過程:(1)逆序排列第一部分

(2)逆序排列第二部分

(3)再全部逆序!

**:

#include #include #include #define maxn 1000

using namespace std;

void swap(char *a, int x, int y)

}int main(int argc, const char * argv)

字串相關的高頻面試題

1.給定乙個字串str,將其中所有空格字元替換成 20 假設str後面有足夠的空間。方法為遍歷str,發現空格的數量為s,所以str在替換後 長度為 原來的長度 2 s。然後從下標為原來的長度 2 s 1的地方開始拷貝的過程,從後向前拷貝!class replacement else return ...

面試題 分割字串

package interview.string public class splitdemo 程式設計 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是...

字串相關面試題

面試題目 字串專題 c字串處理函式彙總實現 面試大多會用到 一道面試題 從乙個字串中找出第乙個不重複字元 程式設計師面試題精選100題 36 在字串中刪除特定的字元 一 整數與字串之間的相互轉換 字串處理函式彙總實現 面試大多會用到 轉換字串 插入字元個數 www.firnow.com 常見c語言面...