第一个只出现一次的字符
Posted lina2014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一个只出现一次的字符相关的知识,希望对你有一定的参考价值。
题目描述:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。
实现语言:Java
public class Solution { public int FirstNotRepeatingChar(String str) { int size=str.length(); if(size==0||str.isEmpty()){ return -1; } char[] cs=str.toCharArray(); int[] hash=new int[256]; for(int i=0;i<cs.length;++i){ ++hash[cs[i]]; } for(int i=0;i<cs.length;++i){ if(hash[cs[i]]==1){ return i; } } return -1; } }
实现语言:Java
import java.util.HashMap; public class Solution { public int FirstNotRepeatingChar(String str) { int size=str.length(); if(size==0||str.isEmpty()){ return -1; } HashMap<Character,Integer> map=new HashMap<Character,Integer>(); for(int i=0;i<size;++i){ if(map.containsKey(str.charAt(i))){ map.put(str.charAt(i),map.get(str.charAt(i))+1); }else{ map.put(str.charAt(i),1); } } for(int i=0;i<size;++i){ if(map.get(str.charAt(i))==1){ return i; } } return -1; } }
以上是关于第一个只出现一次的字符的主要内容,如果未能解决你的问题,请参考以下文章