• 面试题 01.04. 回文排列


    public boolean canPermutePalindrome(String s) {
            char[] c = s.toCharArray();
            int n = c.length;
            Map<Character,Integer> map = new HashMap<>();
            for (char value : c) {
                if (!map.containsKey(value)) {
                    map.put(value, 1);
                } else {
                    map.put(value, map.get(value) + 1);
                }
            }
            Collection<Integer> set = map.values();
            Iterator<Integer> integerIterator = set.iterator();
            if(n%2==0){  //个数全部是偶数
                while (integerIterator.hasNext()){
                    if(integerIterator.next()%2==1) return false;
                    integerIterator.remove();
                }
            }else{
                boolean odd_number = false;
                while (integerIterator.hasNext()){
                    if(integerIterator.next()%2==1){
                        if(odd_number)return false;
                        odd_number = true;
                    }
                    integerIterator.remove();
                }
            }
            return true;
        }

    public boolean canPermutePalindrome(String s) {
            Long n=0l;
            char[] c = s.toCharArray();
            int[] status = new int[128];
            int t=0;
            for(char c1:c){
                if(status[c1]!=0){
                    t--;
                    status[c1]=0;
                }else {
                    status[c1]=1;
                    t++;
                }
            }
            return t==1||t==0;
        }

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    [LeetCode] Letter Combinations of a Phone Number
    [LeetCode] Combinations
    [Algorithms] Longest Increasing Subsequence
    2.Orange安装
    1.Orange是什么鬼?
    5.motan之注解方式配置
    4.motan之集群调用
    3.motan之异步调用
    2、motan入门程序
    1、微博RPC框架Motan
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13545032.html
Copyright © 2020-2023  润新知