华为机试-找出字符串中第一个只出现一次的字符

题目描述
找出字符串中第一个只出现一次的字符

输入描述:
输入一个非空字符串

输出描述:
输出第一个只出现一次的字符,如果不存在输出-1

输入例子:
asdfasdfo

出例子:
o


代码


import java.util.Scanner;


public class FirstSingleChar {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext())
        {
            String s=sc.next();
            firstSinglechar(s);
        }
        sc.close();
    }
    public static void firstSinglechar(String s)
    {
        char chs[]=s.toCharArray();
        int a[]=new int[chs.length];
        for(int i=0;ifor(int j=i+1;jif(chs[i]==chs[j])
                {
                    a[i]=a[j]=-1;
                }
            }
        }
        for(int i=0;iif(a[i]==0)
            {
                System.out.println(chs[i]);
                return;
            }
        }
        System.out.println(-1);
    }
}

你可能感兴趣的:(算法,华为机试)