`

Leetcode - Palindrome Permutation

 
阅读更多
[分析]
思路2让我大开眼界,顺便学习下BitSet~
[ref]
https://leetcode.com/discuss/53180/1-4-lines-python-ruby-c-c-java

public class Solution {
    // Method 2: https://leetcode.com/discuss/53180/1-4-lines-python-ruby-c-c-java
    public boolean canPermutePalindrome(String s) {
        BitSet bs = new BitSet();
        for (byte b : s.getBytes())
            bs.flip(b);
        return bs.cardinality() < 2;
    }
    // Method 1
    public boolean canPermutePalindrome1(String s) {
        int[] map = new int[256];
        for (int i = 0; i < s.length(); i++) {
            map[s.charAt(i)]++;
        }
        int oddOccurCounter = 0;
        for (int i = 0; i < 256; i++) {
            if (((map[i]) & 1) == 1)
                oddOccurCounter++;
        }
        if ((s.length() & 1) == 1)
            return oddOccurCounter == 1;
        else
            return oddOccurCounter == 0;
    }
}
分享到:
评论

相关推荐

    java-leetcode题解之Palindrome Permutation.java

    java java_leetcode题解之Palindrome Permutation.java

    java-leetcode题解之Palindrome Permutation II.java

    java java_leetcode题解之Palindrome Permutation II.java

    數位之和leetcode-leetcode-cpp:我的LeetCodeC++答案

    permutation - combination sum: 39, 40, 216 - palindrome partitioning - regex - sudoku solver: 37 排序 - merge sort - quick sort - insertion sort - selection sort - counting sort 位操作 - find the only...

    leetcode-回文数,回文串(非dp,排序问题哈,dp太难,以后再总结)

    266:https://leetcode-cn.com/problems/palindrome-permutation/ 题目: 思路:判断能否形成回文串,那只要数奇数个字符的种类是否大于2,大于2肯定不可以形成 代码: 409:...

    leetcode答案-leetcode-[removed]用javascript刷LeetCode

    另一类常见问题是字符串处理,如"Palindrome Permutation"(回文排列)。我们可以利用JavaScript的字符串方法(如split、reverse、join)和计数器来判断一个字符串是否可以通过重新排列字符形成回文串。 此外,对于...

    戳气球leetcode-leetcode:leetcode

    leetcode category other hot keywords:Palindrome(mic), Subsequence Array 螺旋矩阵Spiral Matrix 顺时针打印矩阵 Next Permutation Product of Array Except Self 189.rotate-array 283.move-zero Range Sum ...

    雨水leetcode-Competitive-Coding:包含来自hackerrank、codechef、leetcode、intervie

    1)Permutation_Palindrome - Easy - Codechef - {涵盖了地图(stl)和回文逻辑的最佳使用} 2)句子中单词的出现 - 简单 - Coding Ninjas - {Learned to use 'getline','stringstream','map','itreating over a map'...

    LeetCode最全代码

    # [LeetCode](https://leetcode.com/problemset/algorithms/) !... Up to date (2016-12-18), there are `447` Algorithms / `13` ...31 | [Next Permutation](https://leetcode.com/problems/next-permutation/)| ...

    Leetcode题目+解析+思路+答案.pdf

    - **Palindrome Number**:判断一个数字是否是回文数。 - **Search a 2D Matrix**:在二维矩阵中搜索目标值。 - **Search for a Range**:在一个排序数组中查找目标值的第一个和最后一个位置。 - **Search ...

    Leetcode答案(c++版)

    **1.16 Palindrome LinkedList (234)** - **问题描述**:判断链表是否为回文结构。 - **解题思路**: - 使用快慢指针找到链表的中间位置。 - 反转后半部分链表,然后比较前后两部分是否完全相同。 **1.17 Odd ...

    uber leetcode

    #### 九、Palindrome Permutation - **知识点:**哈希表、计数。 - **题目描述:**给定一个字符串,编写一个函数判定其是否为某个字符串的排列的回文串。 - **应用场景:**字符串处理中的常见问题,用于文本分析、...

    LeetCode练习答案

    - **回文数(Palindrome Number)**: 判断一个整数是否是回文数。 - **搜索二维矩阵(Search a 2D Matrix)**: 在一个m x n 的二维矩阵中查找一个特定的目标值。 - **搜索区间(Search for a Range)**: 在一个按升序排列...

    Coding Interview In Java

    leetcode Java 246 題目及解答 (英文) Contents 1 Rotate Array in Java 15 2 Reverse Words in a String II 19 3 Evaluate Reverse Polish Notation 21 4 Isomorphic Strings 25 5 Word Ladder 27 6 Word Ladder ...

    Amazon近半年电面题.pdf

    根据提供的文件内容,我们可以了解到一些关于亚马逊公司面试中所采用的编程题目的详细信息,以及这些题目在LeetCode上的对应编号。文件内容中列出了一系列题目,它们覆盖了不同的编程领域,包括算法、数据结构以及...

Global site tag (gtag.js) - Google Analytics