zoukankan      html  css  js  c++  java
  • 第一个只出现一次的字符

    题目描述

    在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

    类似桶排序的思路:

    注意:在java中String的长度不能用str.size(),而只有str.length();

    public class Solution {
        public int FirstNotRepeatingChar(String str) {
            int []cnt=new int[130];
            for(int i=0;i<str.length();i++){
            cnt[str.charAt(i)-'0']++;    
            }
             for(int i=0;i<str.length();i++){
              if(cnt[str.charAt(i)-'0']==1){
                  return  i;  
            }   
            }
            
            return -1;
        }
    }

     

    class Solution {
        public char firstUniqChar(String s) {
        int []f=new int[26];
        int len=s.length();
        for(int i=0;i<len;i++){
            char ch=s.charAt(i);
            f[ch-97]++;
        }
         for(int i=0;i<len;i++){
            char ch=s.charAt(i);
            if(f[ch-97]==1){
                return ch;
            }
        }
        return ' ';
        }
    }

    不一样的烟火
  • 相关阅读:
    SEO搜索引擎
    SEO
    编程的智慧
    ES6编程规范
    面试题集
    motto
    motto
    JS
    motto
    Linux
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11237380.html
Copyright © 2011-2022 走看看