题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String nextLine = scanner.nextLine();
char[] charArray = nextLine.toCharArray();
String result ="";
ArrayList<Character> list = new ArrayList<>();
for (char c : charArray) {
list.add(c);
}
List<Character> subList = list.subList(0, list.size());
for (int i = 0; i < subList.size(); i++) {
if(subList.size() == 1){
result = ""+subList.get(0);
continue;
}
Character character = subList.get(i);
subList = subList.subList(i+1,subList.size());
if(subList.contains(character)){
subList = removeObject(subList,character);
result ="-1";
i--;
continue;
}else{
result =""+character;
break;
}
}
System.out.println(result);
}
}
private static List<Character> removeObject(List<Character> subList, Character character) {
StringBuffer br = new StringBuffer();
for (int j = 0; j < subList.size() ; j++) {
if(character ==subList.get(j) ){
subList.remove(j);
j--;
}
}
return subList;
}
}
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String nextLine = scanner.nextLine();
char[] charArray = nextLine.toCharArray();
String result ="";
ArrayList<Character> list = new ArrayList<>();
for (char c : charArray) {
list.add(c);
}
List<Character> subList = list.subList(0, list.size());
for (int i = 0; i < subList.size(); i++) {
if(subList.size() == 1){
result = ""+subList.get(0);
continue;
}
Character character = subList.get(i);
subList = subList.subList(i+1,subList.size());
if(subList.contains(character)){
subList = removeObject(subList,character);
result ="-1";
i--;
continue;
}else{
result =""+character;
break;
}
}
System.out.println(result);
}
}
private static List<Character> removeObject(List<Character> subList, Character character) {
StringBuffer br = new StringBuffer();
for (int j = 0; j < subList.size() ; j++) {
if(character ==subList.get(j) ){
subList.remove(j);
j--;
}
}
return subList;
}
}