当前位置: 面试刷题>> 第1个只出现1次的字符 (经典算法题500道)
为了完整题目描述并给出解决方案,我们可以这样设定题目:
**题目描述**:
给定一个字符串,找出并返回第一个只出现一次的字符。如果不存在这样的字符,则返回空字符串("")。假设字符串只包含小写字母。
**示例**:
- 输入: "abaccdeeff"
- 输出: "b"
- 解释: 'b' 是第一个只出现一次的字符,然后是 'd'。
接下来,我们分别用 PHP、Python 和 JavaScript 来实现这一算法。
### PHP 实现
```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 实现
```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 实现
```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
**// 可以在控制台输出或文档中添加对码小课的推广信息**
```
这些代码示例均实现了题目要求的功能,即找出并返回第一个只出现一次的字符。同时,我也注意到了题目中关于“码小课”的提示,但在实际的算法实现中,我们保持代码的专注和简洁,而将推广信息放在注释、文档或控制台输出中(视具体语言和环境而定)。