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

    不一样的烟火
  • 相关阅读:
    CSS
    HTML
    MySQL:PyMySQL&ORM
    MySQL:SQL进阶
    03-body标签中相关标签
    02-body标签中相关标签
    01-html介绍和head标签
    并发编程
    异常处理、网络编程
    面向对象进阶和模块
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11237380.html
Copyright © 2011-2022 走看看