找出一个字符串中第一个只出现一次的字符, 输出该字符在字符串的位置(第一个位置为0), 如果没有只出现一次的字符,就输出-1。
时间: 2024-05-08 07:17:57 浏览: 27
可以使用 HashMap 数据结构来实现字符串中第一个只出现一次的字符的查找,具体实现可以参考下面的 Java 代码:
```
public int firstUniqChar(String s) {
if (s == null || s.isEmpty()) {
return -1;
}
Map<Character, Integer> countMap = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
countMap.put(c, countMap.getOrDefault(c, 0) + 1);
}
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (countMap.get(c) == 1) {
return i;
}
}
return -1;
}
```
如果字符串中存在只出现一次的字符,则返回该字符在字符串中第一次出现的位置;否则返回 -1。
相关问题
输入一个字符串,找出第一个数字字符在串中的位置并输出python
好的,我能理解您的问题。以下是一个 Python 代码示例,可以找出给定字符串中第一个数字字符的位置:
```python
s = input("请输入一个字符串:")
for i in range(len(s)):
if s[i].isdigit():
print("第一个数字字符的位置是:", i)
break
else:
print("该字符串中没有数字字符!")
```
在这个代码中,我们首先提示用户输入一个字符串,并使用 for 循环遍历整个字符串。对于每个字符,我们使用 isdigit() 方法检查它是否为数字字符。如果是,我们输出它的位置并退出循环。如果整个字符串都被遍历完了,但是没有找到数字字符,我们输出一个提示信息。
编写一个Python程序,能在字符串中找出第一个只出现一次的字符
可以使用两种思路来编写一个Python程序来找出字符串中第一个只出现一次的字符。
思路1:使用一个空字典来统计每个字符出现的次数,然后再次遍历字符串找到最先出现的只出现一次的字符输出。如果没有符合条件的字符,则输出"no"。
```python
s = input()
flag = 1
dt = {}
for i in s:
dt[i] = dt.get(i, 0) + 1
for i in s:
if dt[i] == 1:
print(i)
flag = 0
break
if flag == 1:
print('no')
```
思路2:使用count函数来统计每个字符在字符串中出现的次数,然后再次遍历字符串找到第一个只出现一次的字符输出。如果没有符合条件的字符,则输出"no"。
```python
s = input()
for i in s:
if s.count(i) == 1:
print(i)
exit()
print('no')
```