LeetCode 字串彙總

2021-09-29 21:44:26 字數 1488 閱讀 9767

反轉和回文

這一型別題都是對每一位的數相加,然後餘數是相加得到的結果,商是進製;不夠的補零

class

solution

if(cd==1)

reverse

(ans.

begin()

,ans.

end())

;return ans;}}

;

給定兩個二進位制字串,返回他們的和(用二進位制表示)。

輸入為非空字串且只包含數字 1 和 0。

示例 1:

輸入: a = 「11」, b = 「1」

輸出: 「100」

示例 2:

輸入: a = 「1010」, b = 「1011」

輸出: 「10101」

class

solution

if(jinwei==1)

reverse

(res.

begin()

,res.

end())

;return res;}}

;

反轉和回文的共同點都是while(left給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的回文串。

示例 1:

輸入: 「a man, a plan, a canal: panama」

輸出: true

示例 2:

輸入: 「race a car」

輸出: false

class

solution

while

(leftif(s[right]

>=

'a'&&s[right]

<=

'z')

if(s[left]

!=s[right]

)else

}else

}else

}return

true;}

};

給定乙個字串和乙個整數 k,你需要對從字串開頭算起的每個 2k 個字元的前k個字元進行反轉。如果剩餘少於 k 個字元,則將剩餘的所有全部反轉。如果有小於 2k 但大於或等於 k 個字元,則反轉前 k 個字元,並將剩餘的字元保持原樣。

示例:輸入: s = 「abcdefg」, k = 2

輸出: 「bacdfeg」

要求:該字串只包含小寫的英文本母。

給定字串的長度和 k 在[1, 10000]範圍內。

class

solution

for(

int i=

0;isize()

;i=i+

2*k)

int start = i;

while

(start}return s;}}

;

字串彙總

字串的暴力,挺無腦的,沒什麼想說的。inline void init inline int query int l,int r 第一次是橫著hash,用的是p1,此時的 h 表示的是第 i 行長度為 j 的字首串的hash值。第二次是豎著hash,用的是p2,此時的 h 發生了更新,此時的 h 變成...

LeetCode 字串 反轉字串

反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...

LeetCode 字串 親密字串

給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 示例 輸入 a ab b ba 輸出 true 輸入 a ab b ab 輸出 false 輸入 a aa b aa 輸出 true 遍歷字串 a,記錄 a...