Leetcode-面试题 01.04 回文排列

作者: itbird01 | 来源:发表于2021-09-07 11:26 被阅读0次

面试题 01.04. 回文排列

解题思路

1.判断每个字符出现的次数,偶数可以出现若干次,但是奇数只可出现0或者1
2.根据输入的字符串的长度的奇偶,结合上面奇数个数出现的次数,做结果判断
3.之所以只统计只出现奇数个数的字符,原因是,不管字符串长度为奇数还是偶数,偶数出现的字符,都可以平均两边分配;

解题遇到的问题

1.耗时和内存较大,需要优化

后续需要总结学习的知识点

1.Set的去重原理
2.是否还有其他方向

##解法1
class Solution {
    public static boolean canPermutePalindrome(String s) {
        char[] cs = s.toCharArray();
        int time = 0;
        for (int i = 0; i < cs.length; i++) {
            if (getTimes(s, cs[i]) % 2 != 0) {
                s = s.replace(cs[i], ' ');
                time++;
            }
        }
        if (s.length() % 2 == 0) {
            if (time == 0) {
                return true;
            } else {
                return false;
            }
        } else {
            if (time == 1) {
                return true;
            } else {
                return false;
            }
        }
    }

    public static int getTimes(String s, char a) {
        char[] cs = s.toCharArray();
        int num = 0;
        for (int i = 0; i < cs.length; i++) {
            if (cs[i] == a) {
                num++;
            }
        }
        return num;
    }
}

相关文章

  • Leetcode-面试题 01.04 回文排列

    面试题 01.04. 回文排列[https://leetcode-cn.com/problems/palindro...

  • 面试题 01.04. 回文排列

    题目:给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。 回文串是指正反两个方向都一样的单词或短语。排...

  • 【leetcode-动态规划】最长回文子串

    【leetcode-动态规划】最长回文子串 题目: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s...

  • Leetcode-面试题 02.06 回文链表

    面试题 02.06. 回文链表[https://leetcode-cn.com/problems/palindro...

  • leetcode-程序员面试金典-回文排列

    给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字...

  • LeetCode-回文对

    自己写的最容易理解的方法,超时了。呜呜,但是不知道怎么优化。 别人写的的前缀树的方法,自己看了好几个小时,没看懂,...

  • leetcode-回文链表

    请判断一个链表是否为回文链表。 示例 1: 示例 2: 进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂...

  • LeetCode-回文数

    题目链接 => 戳这里 解析 我们从题目中就可以知道如果输入的整数是负数,那么这个数就一定不是回文数,那么还有没有...

  • LeetCode #267 Palindrome Permuta

    267 Palindrome Permutation II 回文排列 II Description: Given ...

  • LeetCode-验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义...

网友评论

    本文标题:Leetcode-面试题 01.04 回文排列

    本文链接:https://www.haomeiwen.com/subject/nnnewltx.html