刷題 力扣 面試題 01 04 回文排列

2022-09-14 08:12:13 字數 605 閱讀 5206

題目鏈結

題目描述

給定乙個字串,編寫乙個函式判定其是否為某個回文串的排列之一。

回文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。

回文串不一定是字典當中的單詞。

示例1:

輸入:"tactcoa"

輸出:true(排列有"tacocat"、"atcocta",等等)

題目分析

根據題目描述,回文排序要求字串**現的字元次數最多只有乙個字元出現奇數次,其他的均為偶數次

使用hash map統計出現字元的次數,時間複雜度為o(n),空間複雜度為o(n)

**

class solution 

std::unordered_mapkeymap;

int odd = 0;

for (char c : s)

for (std::unordered_map::const_iterator it = keymap.cbegin(); it != keymap.cend(); ++it)

}return odd > 1 ? false : true;

}};

LeetCode 面試01 04 回文排列

給定乙個字串,編寫乙個函式判定其是否為某個回文串的排列之一。回文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。回文串不一定是字典當中的單詞。示例1 輸入 tactcoa 輸出 true 排列有 tacocat atcocta 等等 1.第一種題解 1 解題思路 2 思路 每個字元出現...

程式設計師面試金典 面試題01 04 回文排列

給定乙個字串,編寫乙個函式判定其是否為某個回文串的排列之一。回文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。回文串不一定是字典當中的單詞。示例1 輸入 tactcoa 輸出 true 排列有 tacocat atcocta 等等 如果乙個字串能夠通過重新排列得到乙個回文串,那麼該字...

leetcode 面試題01 04 回文字串

題目 分析 根據回文字串的特點只需要滿足字串中各個相同字母的個數為偶數或者只有乙個奇數,其他都為偶數 步驟 1 定義乙個雜湊表,2 統計各個字母的頻率 3 定義乙個陣列,將頻率放入陣列內 4 統計陣列裡面奇數和偶數的個數 5 如果奇數個數為1,返回true 如果奇數個數為0,且偶數的個數不為0,返回...