代码拉取完成,页面将自动刷新
同步操作将从 doocs/leetcode 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Given a string, write a function to check if it is a permutation of a palin drome. A palindrome is a word or phrase that is the same forwards and backwards. A permutation is a rearrangement of letters. The palindrome does not need to be limited to just dictionary words.
Example1:
Input: "tactcoa" Output: true(permutations: "tacocat"、"atcocta", etc.)
class Solution:
def canPermutePalindrome(self, s: str) -> bool:
counter = Counter(s)
cnt = 0
for val in counter.values():
if (val & 1) == 1:
cnt += 1
if cnt > 1:
return False
return True
class Solution {
public boolean canPermutePalindrome(String s) {
Map<Character, Integer> counter = new HashMap<>();
for (int i = 0, n = s.length(); i < n; ++i) {
char c = s.charAt(i);
counter.put(c, counter.getOrDefault(c, 0) + 1);
}
int cnt = 0;
for (int val : counter.values()) {
if ((val & 1) == 1) {
++cnt;
}
if (cnt > 1) {
return false;
}
}
return true;
}
}
func canPermutePalindrome(s string) bool {
m := make(map[rune]bool)
count := 0
for _, r := range s {
if m[r] {
m[r] = false
count--
} else {
m[r] = true
count++
}
}
return count <= 1
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。