剑指offer之第一个只出现一次的字符

来源:互联网 发布:二次元女生知乎 编辑:程序博客网 时间:2024/05/17 08:41

题目描述:在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。


思路:开辟一个26长度的数组存放每个字符出现的次数,之后遍历字符串找出第一个只出现一次的的字符


代码:

public class Main { public static void main(String[] args) { String str="DFUYSDIUVJUIRX"; System.out.println(FirstNotRepeatingChar(str));    }    public static char FirstNotRepeatingChar(String str){ int[] arr=new int[26]; char result=' '; for(int i=0;i<arr.length;i++){ arr[i]=0; }  for(int i=0;i<str.length();i++){ arr[str.charAt(i)-'A']++; }  for(int i=0;i<str.length();i++){ if(arr[str.charAt(i)-'A']==1){ result=str.charAt(i); break; } } return result; }}