學渣帶你刷Leetcode266 回文排列

2021-10-09 12:18:56 字數 898 閱讀 7319

給定乙個字串,判斷該字串中是否可以通過重新排列組合,形成乙個回文字串。

示例 1:

輸入: "code"

輸出: false

示例 2:

輸入: "aab"

輸出: true

示例 3:

輸入: "carerac"

輸出: true

一串字串,可能所有的ascii啊,不只26個,求能不能組合成回文串,因為說可以隨便組合,就看唄。

數量滿足就好其實。

(1)模擬hash計數

(2)統計奇數個出現的字元數量是否大於1

詳細解釋關注 b站  【c語言全**】學渣帶你刷leetcode 不走丟 

#include #include #include bool canpermutepalindrome(char * s)

; // 總共有128個ascii碼 ...

int i=0;

int n;

for (i = 0, n = strlen(s); i < n; i++)

cnt[s[i]]++;

//統計這個陣列中奇數個的字母不能超1個

int ans = 0;

for (i = 0; i < 128; i++)

ans += (cnt[i] % 2); //模2 判斷奇數偶數, ans求和計數

學渣帶你刷Leetcode0035搜尋插入位置

給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 示例 2 輸入 1,3,5,6 2 輸出 1 示例 3 輸入 1,3,5,6 7 輸出 4 示例 4 輸入...

學渣帶你刷Leetcode0063不同路徑 II

乙個機械人位於乙個 m x n 網格的左上角 起始點在下圖中標記為 start 機械人每次只能向下或者向右移動一步。機械人試圖達到網格的右下角 在下圖中標記為 finish 現在考慮網格中有障礙物。那麼從左上角到右下角將會有多少條不同的路徑?網格中的障礙物和空位置分別用 1 和 0 來表示。說明 m...

學渣帶你刷Leetcode0066加一

給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...