力扣刷題筆記4 字串經典題目

2022-07-11 18:30:12 字數 2443 閱讀 9345

題目1:反轉字串

解題思路: (1)這道題很簡單,使用雙指標即可,直接放**了

題目2:反轉字串||

解題思路:(1)建立for迴圈,注意是每次迴圈跳轉k個單位

(2)每次for迴圈都要判斷剩餘字元是否大於k,如果大於k,反轉前k個字元,並且continue;

(3)如果剩餘字元小於k,將剩餘字元全部反轉。

**如下:

注意:reverse函式用於反轉在[first,last)範圍內的順序(包括first指向的元素,不包括last指向的元素),reverse函式無返回值

題目3:替換空格

解題思路:(1)建立乙個空字串str

(2)遍歷字串s,每次迴圈時判斷字元是否為空,如果不為空,則將該字元壓入str,否則壓入%20;

題目4:翻轉字串中的單詞

解題思路:(1)建立乙個存放string的棧,並通過使用istringstream將字串裡的單詞依次壓入棧;

(2)將棧中存放的資料依次出棧,注意單詞之間要有空格;

具體**如下:

題目4:左旋轉字串

解題思路:這道題比較簡單,直接使用string自帶的substr()和erase()函式即可

具體**如下:

注意:關於substr()的一些意事項

用途:一種構造string的方法

形式:s.substr(pos, n)

解釋:返回乙個string,包含s中從pos開始的n個字元的拷貝(pos的預設值是0,n的預設值是s.size() - pos,即不加引數會預設拷貝整個s)

補充:若pos的值超過了string的大小,則substr函式會丟擲乙個out_of_range異常;若pos+n的值超過了string的大小,則substr會調整n的值,只拷貝到string的末尾

題目5:實現strstr()

解題思路:直接呼叫自帶的find函式即可

注意:find用法

string中的find()返回值是字母在母串中的位置(找到的第乙個字元或子串的位置),如果沒有找到,那麼會返回乙個特別的標記npos。(返回值可以看成是乙個int型的數)

力扣刷題筆記 43 字串相乘 C

今日簽到題,簽到題如下 給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2...

力扣刷題筆記2 鍊錶經典題目

1.移除鍊錶元素 解題思路 這道題很簡單,就是從頭到尾遍歷鍊錶,如果找到val值和目標值相同的節點就刪除該節點,最後返回煉表頭節點即可 具體 如下 2.翻轉鍊錶 解題思路 定義乙個頭指標head和尾指標node,while head node 迴圈結束後即完成了鍊錶的翻轉 具體 如下 題目3 鍊錶相...

刷題 力扣 面試題 01 06 字串壓縮

題目鏈結 題目描述 字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3...