华为OJ——找出字符串中第一个只出现一次的字符

时间:2021-08-04 11:17:48

题目描述

找出字符串中第一个只出现一次的字符

详细描述:

接口说明

原型:

bool FindChar(char* pInputString, char* pChar);

输入参数:

char* pInputString:字符串

输出参数(指针指向的内存区域保证有效):

char* pChar:第一个只出现一次的字符

如果无此字符 请输出'.'


输入描述:
 
 

输入一串字符

输出描述:
 
 

输出一个字符

输入例子:
asdfasdfo
输出例子:
o
思路:遍历整个输入的字符串中的每个字符,如果这个字符前后的字符串中都不包括这个字符也就是说你这个字符只出现一次,输出就行了

import java.util.*;
public class Main{

	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);
		while(scan.hasNext())
		{
			String str=scan.nextLine();
			String repeat="";
			for(Character ch:str.toCharArray())
			{
				int index=str.indexOf(ch);
				if(!str.substring(index+1).contains(ch.toString()) && !str.substring(0, index).contains(ch.toString()))
				{
					System.out.println(ch);
					break;
				}
			}
		}
	}
}