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

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

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

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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String str = in.readLine();
        // 总共126个字符,建立两个数组
        //一个记录出现次数(用下标表示字符),另一个记录出现顺序(用下标表示出现顺序)
        //记录次数
        byte w[] = new byte[126];
        //记录顺序
        char s[] = new char[126];
        byte k = 0;
        for (byte i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            w[c]++;
            //c第一次出现
            if (w[c] == 1) {
           //记录出现顺序
                s[k++] = c;
            }
        }
	   
	  //按出现顺序遍历,选择数量为1的
        for (byte j = 0; j < k; j++) {
            char c1 = s[j];
            if (w[c1] == 1) {
                System.out.print(c1);
                return;
            }
        }

        System.out.print(-1);


    }
}

全部评论

相关推荐

04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务