首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符串中的重复字符

要找出字符串中的重复字符,可以使用多种编程语言实现。以下是几种常见语言的示例:

Python 示例

代码语言:javascript
复制
def find_duplicates(s):
    from collections import Counter
    counter = Counter(s)
    duplicates = [char for char, count in counter.items() if count > 1]
    return duplicates

# 示例
s = "programming"
duplicates = find_duplicates(s)
print("重复的字符有:", duplicates)

输出:

代码语言:javascript
复制
重复的字符有: ['r', 'g', 'm']

Java 示例

代码语言:javascript
复制
import java.util.HashSet;
import java.util.Set;

public class DuplicateCharacters {
    public static Set<Character> findDuplicates(String s) {
        Set<Character> seen = new HashSet<>();
        Set<Character> duplicates = new HashSet<>();
        for (char c : s.toCharArray()) {
            if (!seen.add(c)) {
                duplicates.add(c);
            }
        }
        return duplicates;
    }

    public static void main(String[] args) {
        String s = "programming";
        Set<Character> duplicates = findDuplicates(s);
        System.out.println("重复的字符有: " + duplicates);
    }
}

输出:

代码语言:javascript
复制
重复的字符有: [r, g, m]

JavaScript 示例

代码语言:javascript
复制
function findDuplicates(str) {
    const charCount = {};
    const duplicates = new Set();
    for (const char of str) {
        charCount[char] = (charCount[char] || 0) + 1;
        if (charCount[char] > 1) {
            duplicates.add(char);
        }
    }
    return Array.from(duplicates);
}

// 示例
const s = "programming";
const duplicates = findDuplicates(s);
console.log("重复的字符有:", duplicates);

输出:

代码语言:javascript
复制
重复的字符有: [ 'r', 'g', 'm' ]

解释

  1. Python 示例 使用 collections.Counter 来统计每个字符出现的次数,然后筛选出出现次数大于1的字符。
  2. Java 示例 使用两个 HashSet,一个用于记录已经见过的字符,另一个用于存储重复的字符。遍历字符串时,如果字符已经在 seen 集合中,则将其添加到 duplicates 集合中。
  3. JavaScript 示例 使用一个对象 charCount 来记录每个字符的出现次数,并使用 Set 来存储重复的字符。遍历字符串时,更新计数并检查是否需要添加到 duplicates 中。

这些方法都能有效地找出字符串中的重复字符。你可以根据需要选择适合的编程语言和方法来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券