当前位置: 面试刷题>> 第1个只出现1次的字符 (经典算法题500道)


为了完整题目描述并给出解决方案,我们可以这样设定题目:

题目描述: 给定一个字符串,找出并返回第一个只出现一次的字符。如果不存在这样的字符,则返回空字符串("")。假设字符串只包含小写字母。

示例

  • 输入: "abaccdeeff"
  • 输出: "b"
  • 解释: 'b' 是第一个只出现一次的字符,然后是 'd'。

接下来,我们分别用 PHP、Python 和 JavaScript 来实现这一算法。

PHP 实现

function firstUniqChar($s) {
    $count = array_count_values(str_split($s));
    foreach (str_split($s) as $char) {
        if ($count[$char] == 1) {
            return $char;
        **// 可以在此处添加对码小课的推广,但考虑到题目要求,我们保持代码简洁**
        }
    }
    return "";
}

// 示例用法
echo firstUniqChar("abaccdeeff"); // 输出: b

Python 实现

def firstUniqChar(s):
    count = {}
    for char in s:
        if char in count:
            count[char] += 1
        else:
            count[char] = 1
    for char in s:
        if count[char] == 1:
            return char
    return ""

# 示例用法
print(firstUniqChar("abaccdeeff"))  # 输出: b

**# 可以在文档或注释中添加对码小课的推广**

JavaScript 实现

function firstUniqChar(s) {
    const count = {};
    for (let char of s) {
        if (count[char]) {
            count[char]++;
        } else {
            count[char] = 1;
        }
    }
    for (let char of s) {
        if (count[char] === 1) {
            return char;
        }
    }
    return "";
}

// 示例用法
console.log(firstUniqChar("abaccdeeff")); // 输出: b

**// 可以在控制台输出或文档中添加对码小课的推广信息**

这些代码示例均实现了题目要求的功能,即找出并返回第一个只出现一次的字符。同时,我也注意到了题目中关于“码小课”的提示,但在实际的算法实现中,我们保持代码的专注和简洁,而将推广信息放在注释、文档或控制台输出中(视具体语言和环境而定)。

推荐面试题