首页 > 其他 > 详细

第一个只出现一次的字符 --剑指offer

时间:2020-03-08 09:20:03      阅读:54      评论:0      收藏:0      [点我收藏+]

题目描述

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).
 
 
思路:建立一个数组 数组的下标是跟字符的ascii码直接相关的 
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        if(str == null){
            return 0;
        }
        int[] count = new int[58];
        for(int i =0;i < str.length();i ++){
            count[(int)str.charAt(i)-65] += 1;
        }
        for(int i =0;i <str.length(); i ++){
            if(count[(int)str.charAt(i)-65] == 1){
                return i;
            }
        }
        return -1;
    }
}

 

第一个只出现一次的字符 --剑指offer

原文:https://www.cnblogs.com/nlw-blog/p/12439814.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!