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

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

http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4

题解: 通过每个字符在字符串中找除自己以外与自己相同的方式,若不存在返回当前字符,如果发现一次,立即开始下一个字符的循环

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str = br.readLine()) != null){
            System.out.println(findFirstCh(str));
        }
    }
    
    public static String findFirstCh(String str){
        // 将字符串转化为数组
        char[] chs = str.toCharArray();
        for(int i = 0; i < chs.length; i++){
            int j = 0;
            int count =0;
            while(j < chs.length){
              // 发现除自己意外与自己相同的字符
                if(i != j && chs[i] == chs[j]){
                    count++;
                  // 跳出本次循环,进行字符串中下一个字符的查询
                      break;
                }
                j++;
            }
          // 若未发现与自身重复的字符,直接返回此字符
            if(count == 0){
                 return Character.toString(chs[i]); 
            }
        }
        return "-1";
    }
}
全部评论

相关推荐

03-12 21:00
中山大学 Ruby
点赞 评论 收藏
分享
01-17 12:35
吉首大学 Java
秋招之BrianGriffin:自己的工作自己做!😡
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务