字符串中的第一个唯一字符

 字符串中的第一个唯一字符 

给定一个字符串s,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。

示例1

输入:s = "loveleetcode"

输出:2

示例2

输入:s = "aabb"

输出:-1

示例3:

输入:s = "leetcode"

输出:0

 自己写的,愣是不知道为啥错,再看看

#include <iostream>
#include <map>
using namespace std;

int main() {
	string s;
	int n=0;
	cin>>n;
	for(int i = 0;i < n;i++){
		cin >> s;
		cout<<s;
	}
	map<char,int>m;
	for(int j=1;j<=s.size();j++){
			m[s[j-1]]++;
			printf("%s的次数为%d\n",s[j-1],m[s[j-1]]);
			if(j=s.size()){
				if(m[s[j-1]]==1) printf("%s",s[j-1]);  
			}
		    else  
			  continue;
     	}	
			
	}
		

	

#include <iostream>

using namespace std;

int main() {
	string s;
	cin >> s;
    int map[256]={0};
    
    int size=s.size();
    for(int i=0;i<size;i++){
    	map[s[i]]+=1;
	}
	for(int j=0;j<size;j++){
		if(map[s[j]]==1){
		   printf("字符串中的第一个唯一字符是%d",j);
		   break;}  //在这break就可以符合题目的输出“第一个”的要求
		else   {
			continue;
		}
	}
			return 0;
	}
		

	

ok 改了改 思路还是那个思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值