今天碰到了乙個關於回文串的問題:判斷乙個字串重新排列後能否形成乙個回文串。
個人初始思路:統計每種字元在字串中的出現次數,最後如果次數為奇數的多於乙個,則false。但是用於儲存字串出現次數的陣列不能用s.length來構造,因為是變數。
解答思路:通過使用unordered_map構造乙個map來儲存,然後判斷。
classsolution
int count=0
;
for(auto &i:map)
if(count==2
)
}return
true
;
}};
補充:也可以先sort一下,再判斷。(時間複雜度會提高)
力扣 回文數
先貼我寫的.c檔案 主要思路是 1.用char型別的陣列來存字元,這樣可以判斷 號 2.讀取字元的for迴圈中,有乙個if語句來判斷結尾。3.再乙個for迴圈,判斷是不是回文數字。1 include2 include3 intmain 11 n 12 13 printf 數字長度是 d n n 14...
力扣 回溯專題
1.842.將陣列拆分成斐波那契序列,傳的引數包括s,start,中間結果。挺難的,比較典型的回溯題目。2.22.括號生成,非常典型的回溯操作,剪枝控制是左右括號的數量比較,以及剩餘數量與0的比較。以前覺得難,現在覺得簡單。組和問題 3.77.組合,遞迴中有start引數,在for迴圈中將元素放入然...
力扣 驗證回文串
給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。示例 1 輸入 a man,a plan,a canal panama 輸出 true 示例 2 輸入 race a car 輸出 false 思路 1 由於不區分大小寫,所以...