反轉和回文
這一型別題都是對每一位的數相加,然後餘數是相加得到的結果,商是進製;不夠的補零
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...