【程序员面试金典】04 回文排列
  EFTJ6596AiAP 2023年11月02日 99 0

题目

给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。

回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。

回文串不一定是字典当中的单词。


题解

思路:字符串中的字符出现都是偶数次或者只有一个字符出现奇数次

public class Solution {
public bool CanPermutePalindrome(string s) {
//char[] schar = s.ToCharArray();
var schar = s.ToList().GroupBy(i=>i);//Attention Plz!!!
int sum = 0;
foreach (var item in schar)
{
if (item.Count()==1 || item.Count()%2==1)
{
sum++;
}
}
return sum<=1;
}
}


知识点

Count()

开局尝试了用字符数组:char[] schar = s.ToCharArray()

但是字符数组不能使用Count方法

通过的方法中,先将字符串转换成List,然后将其排序之后可以使用Count()方法。


提交结果

【程序员面试金典】04 回文排列_字符串


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

EFTJ6596AiAP