首页 > 其他分享 >【字符串4】-第一个只出现一次的字符

【字符串4】-第一个只出现一次的字符

时间:2022-11-22 12:00:52浏览次数:38  
标签:字符 第一个 map int strChar result str 字符串


题目描述

在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置

import java.util.Map;
import java.util.HashMap;
public class Solution {
public int FirstNotRepeatingChar(String str) {
if(str==null ||str.length()<=0)
return -1;
int result=0;
char[] strChar=str.toCharArray();
Map<Character,Integer> map=new HashMap<>();
for(int i=0;i<strChar.length;i++){
if(map.containsKey(strChar[i])){
map.put(strChar[i],map.get(strChar[i])+1);//重复的字符,令其值为2
}else{
map.put(strChar[i],1);//不重复的字符,令其值为1,之后取值为1的字符即为出现一次的字符
}
}
for(int i=0;i<strChar.length;i++){
if(map.get(strChar[i])==1){
return result;//返回1在字符串中的位置
}
result++;//不是1,继续比较下个字符
}


return -1;
}
}



标签:字符,第一个,map,int,strChar,result,str,字符串
From: https://blog.51cto.com/u_15886477/5877577

相关文章

  • 【字符串3】-整数中1出现的次数(从1到n整数中1出现的次数)
    求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。......
  • OpenGL(2) ->第一个程序
    文章目录​​一、先看几个定义​​​​二、第一个程序​​​​1、代码​​​​2、简单解析​​​​1、main函数​​​​(1)intmain(intargc,char*argv[])​​​​(2)voidgl......
  • 【C++】使用boost库的split函数分割字符串
    1#include<iostream>2#include<vector>3#include<boost/algorithm/string.hpp>45intmain(constintargc,constchar*argv[])6{7std::vect......
  • python中的字符串的常用方法介绍
    a="alxeLi金角大王"   #创建一个字符串来演示方法的功能结果。一下都使用这个字符串演示。首先要了解的常识性的知识点是:字符串是不可变的序列。所有对字符串的......
  • python中的字符串操作
    #1.索引(下标)print('1.索引')str_data='Python'#[索引(下标)]取索引的格式#正负索引#获取单个数据sub_str=str_data[4]print(sub_str)sub_str=str_d......
  • 字符的统计
    大家好呀,今晚要分享的是C语言中如何写一个代码来计算字符的心得。首先这是题目:首先我们可以分析一下,输入三行文字,然后把文字保存在一个二维字符数组中,可以通过for循环把这三......
  • [oeasy]python0018_ ASCII_字符分布_数字_大小写字母_符号_黑暗森林
    ​ 打包和解包回忆上次内容decode 就是解码解码和编码可以转化encode编码decode解码互为逆过程大小写字母之间序号全都相差(​​32​​)​​10进......
  • python复制pdf段落后自动去除换行连字符
    importtimeimportpyperclip"""安装pyperclippipinstallpyperclip"""#此代码可复制pdf中内容,并自动删除换行符和空格defis_Qnumber(uchar):"""判断一......
  • 反转字符串 II
    indexOf();查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1.Integer.parseInt();将字符串转化为int;char[]pre=s.toCharArray();intn=pre.length......
  • SHELL:echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
    格式:echo-e"\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo-e"\033[41;36msomethinghere\033[0m" 其中41的位置代表底色,36的位置是代表字的颜色 那些......