题解 | #找出字符串中第一个只出现一次的字符#

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

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;
    }
}


全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务