首页 > 其他 > 详细

判断一个字符串中的字符是否都只出现一次

时间:2014-11-26 02:10:56      阅读:294      评论:0      收藏:0      [点我收藏+]

本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一次的方法。

方法一:

首先将字符串转换成字符数组(char[]), 循环迭代char数组,对于每一个字符c,如果其第一次出现的索引和最后一个出现的索引是不一样的,那么我们可以认为该元素出现多次

public static boolean isUniqueChars(String str) {
    char[] chars = str.toCharArray();
    for (char c : chars) {
        if (str.indexOf(c) != str.lastIndexOf(c)) {
            return false;
        }
    }
    return true;
}

?

方法二:
首先将字符串转换成字符数组 (char[]), 然后调用Arrays.sort对字符数组排序。接下来只要判断charArray[i] 是否与charArray[i+1]相等

public static boolean isUniqueChars2(String str) {
    char[] chars = str.toCharArray();
    Arrays.sort(chars);// 先排序
    int len = chars.length;
    for (int i = 0; i < len - 1; ++i) {
        if (chars[i] == chars[i + 1]) {
            return false;
        }
    }
    return true;
}

?

方法三:

方法三参考自http://stackoverflow.com/questions/21057827/determining-a-string-has-all-unique-characters-without-using-additional-data-str

public static boolean isUniqueChars(String str) {
        int checker = 0;
        for (int i = 0; i < str.length(); ++i) {
            int val = str.charAt(i) - ‘a‘;
            if ((checker & (1 << val)) > 0)
                return false;
            checker |= (1 << val);
        }
        return true;
    }

?

原文地址?http://thecodesample.com/?p=951

更多例子请访问?http://thecodesample.com/

?

判断一个字符串中的字符是否都只出现一次

原文:http://mouselearnjava.iteye.com/blog/2160073

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!