`
MouseLearnJava
  • 浏览: 467111 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

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

方法一:

首先将字符串转换成字符数组(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/

 

1
1
分享到:
评论

相关推荐

    C#判断一个字符是否在字符串里/数组里

    在C#编程语言中,判断一个字符是否存在于字符串或数组中是常见的操作,这在处理文本数据时尤其重要。下面我们将详细探讨如何实现这个功能,以及相关的重要知识点。 首先,我们要知道C#提供了多种方法来检查字符是否...

    vfp统计字符串中某字符重复出现次数

    "字符 '", strChar, "' 在字符串 '", strInput, "' 中出现了 ", intCount, " 次" ``` 这段代码首先定义了输入字符串`strInput`和要统计的字符`strChar`,然后通过`DO WHILE`循环使用`POS()`函数寻找目标字符。每次...

    如何判断字符串的个数

    ### 如何判断字符串的个数 #### 方法简介 在本例中,我们需要编写一个名为 `SubstringCount` 的函数,该函数接受两个参数:`str` 和 `substring`。其中 `str` 是源字符串,而 `substring` 是我们想要查找的子字符...

    Oracle查找字符串中某字符出现的次数

    select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, select f_find('我...

    求一个字符串中的连续出现次数最多的字串

    假设有一个输入字符串 `str`,我们需要找到在该字符串中出现次数最多的一个或多个连续子串,并统计它们出现的次数。 #### 1.3 输入输出格式 - **输入**:一个字符串 `str`。 - **输出**:连续出现次数最多的子串...

    有两个字符串A,B,判断B是不是A的子串

    题目中给出的标签“判断子串”提示我们,我们需要编写一个程序或函数,接受两个字符串作为输入,并返回一个布尔值,表示第二个字符串是否为第一个字符串的子串。 在编程中,有多种方法可以实现这个功能。以下是一些...

    判断字符串是否“回文”

    根据给定的文件信息,我们将深入探讨“回文”的概念、如何在编程中实现判断字符串是否为回文,以及分析提供的代码示例。 ### 回文的基本概念 回文是指一个字符串正向读取和反向读取都相同的情况。例如,“madam”...

    用C#实现的遍历字符串,遍历一次查出每个字符出现的次数

    在C#编程中,遍历字符串并统计每个字符出现的次数是一个常见的任务,尤其是在文本处理、数据分析或字符串分析等场景。下面将详细讲解如何利用C#实现这一功能,并结合`Hashtable`数据结构来存储和计算字符频率。 ...

    字符串重新排序

    一种方法是在构建新字符串时,使用一个集合(如HashSet)来跟踪已使用过的数字,确保每个数字只出现一次。另一种方法是在排序后遍历数组,每次只添加尚未出现在新字符串中的数字。 此外,考虑到Java中的String对象...

    C#数据结构:统计输入字符串中各不同字符的出现频率

    在C#中,字符串是由Unicode字符组成的,每个字符对应一个唯一的数值。因此,A~Z的大写字母和0~9的数字在Unicode中都有固定的值。我们可以通过`char`类型来表示单个字符,而`string`类型则用于存储多个字符。 接下来...

    判断字符串是否只有数字

    ### 知识点详解 #### 一、字符串与数字判断 ...总之,判断字符串是否只包含数字是一项基本而重要的任务,在多种编程场景中都有广泛应用。理解并掌握本文所述的方法和技术,将有助于开发者更高效地完成相关工作。

    Java检索字符串中是否存在某字符

    如果我们要统计子串在主字符串中出现的次数,可以在找到一次匹配后,将主字符串的指针移动到匹配结束的位置加上next function的值,这样可以跳过已匹配的部分,继续寻找下一个匹配。 从提供的文件名来看,可能包含...

    从字符串中查找字符出现次数的方法和性能对比

    在IT领域,尤其是在编程与数据处理中,统计字符串中特定字符的出现次数是一个常见的需求。本文将深入探讨几种实现这一功能的方法,并通过实际代码示例和性能对比分析,帮助读者理解每种方法的优劣,以便在实际开发中...

    C 语言编写用于判断一个字符串是否是回文字符串.pdf

    因此,在编程实践中,编写用于判断回文字符串的程序,不仅仅是为了完成一个简单的任务,更是对程序员字符串处理能力的一次锻炼。它要求我们对字符串的内部结构有深刻的认识,并能够熟练使用C语言提供的字符串操作...

    易语言源码寻找指定字符串出现个数.7z

    8. **计数器**:在统计字符串出现次数时,会用到一个计数器变量,初始化为0,每找到一次目标字符串就加1,最后计数器的值就是目标字符串的出现次数。 9. **条件判断**:通过`如果`、`那么`、`否则`等语句,可以在...

    VB6.0从一串字符中只提取数字

    这通常涉及`IsNumeric`函数,它可以判断一个字符串是否可以转换为数值。 ```vb Dim inputString As String Dim i As Integer Dim result As String inputString = "abc123def456" For i = 1 To Len(input...

    ABAP常用字符串操作

    - `{FIRST OCCURRENCE|{ALL OCCURRENCES}}` 表示只替换第一次出现或所有出现。 - `[SUBSTRING]` 可选参数,用于指定是否替换整个子串。 - `[OFFSET off]` 和 `[LENGTH len]` 用于限制替换范围。 - `[IN {BYTE|...

    在字符串中找出连续最长的数字串+

    总结,找出字符串中连续最长的数字串并输出其长度,是字符串处理中的一个基础问题,它涉及到字符串遍历、条件判断和动态规划等编程技巧。通过学习和实践这类问题,可以提高对字符串操作的理解和编程能力。

    c# winfrom 判断前后字符串是否相同

    在C# WinForm开发中,有时我们需要判断两个字符串是否完全相同,这在各种场景下都很常见,例如验证用户输入、比较文件名或者处理文本数据。本文将深入探讨如何在C# WinForm应用中实现字符串的比较,并结合VS2013源码...

    使用最短编辑距离算法判断两个字符串的相似度

    这个算法主要用于衡量两个字符串之间的差异,即需要进行多少次单字符操作(插入、删除或替换)才能将一个字符串转换为另一个字符串。在文本处理、信息检索、生物信息学等领域有着广泛的应用。 字符串相似度是评估两...

Global site tag (gtag.js) - Google Analytics