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

原创 2015年07月07日 17:42:14
package java_study.JianZhiOffer;

import org.junit.Test;
import scala.Char;

import java.util.HashMap;

/**
 * Created by ethan on 2015/7/7.
 * 剑指offer中No36题
 */
public class No36第一个只出现一次的字符 {

    public char findFirstOnceCharacter(String str){
        HashMap<Character, Integer> hashMap = new HashMap<Character, Integer>();
        for (int i=0; i<str.length(); i++){
            char ch = str.charAt(i);
            if (hashMap.containsKey(ch)){
                hashMap.put(ch, hashMap.get(ch)+1);
            }else
                hashMap.put(ch, 1);
        }
        for (int i=0; i<str.length(); i++){
            char ch = str.charAt(i);
            if (hashMap.get(ch)!=null && hashMap.get(ch)==1)
                return ch;
        }
        return '\0';
    }

    // hashMap是一个比较复杂的数据结构,可以直接使用比较轻量级的数据结构:数组;
    // 字符的统计都都可以考虑使用这种轻量级的数组实现map
    public char findFirstOnceCharacter_1(String str){
        int[] hashtable = new int[256];
        for (int i=0; i<str.length(); i++){
            hashtable[str.charAt(i)] += 1;
        }
        for (int i=0; i<str.length(); i++){
            char ch = str.charAt(i);
            if (hashtable[ch]==1)
                return ch;
        }
        return '\0';
    }

    @Test
    public void test(){
        System.out.println(findFirstOnceCharacter("abaccfdwedass"));
        System.out.println(findFirstOnceCharacter_1("abaccfdwedass"));
        System.out.println((char)97);
    }
}

【C语言】找出一个字符串中第一个只出现一次的字符

题目描述:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006年google的一道笔试题。 方法一:     简单粗暴的遍历完成,只适用于字符串较...
  • sofia_m
  • sofia_m
  • 2017年11月12日 17:58
  • 98

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

该题采用遍历即可: 看到这个题目,最直观的想法就是就是遍历法,也就是从头开始取字符串中的一个字符,将其与其后的所有字符比较,如果有相同的字符,那么就证明它不是只出现一次的字符。当第一次出现遍历完其后...

经典面试题--字符串系列(二)--找出第一个出现一次的字符

题目:在字符串中找出第一个出现一次的字符串,如输入“”

华为OJ ---找出字符串中第一个只出现一次的字符(java实现)

题目描述:找出字符串中第一个只出现一次的字符详细描述:接口说明原型:bool FindChar(char* pInputString, char* pChar);输入参数:char* pInputSt...

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

题目:在字符串中找出第一个只出现一次的字符。如输入 “abaccdeff”,则输出b。 思路分析: (1)由于题目与字符出现的次数相关,那么是不是可以统计每个字符在该字符串中出现的次数?要达到这个...

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

/* 题目描述:在字符串中找出第一个只出现一次的字符。例如字符串"abaccdeff",则输出'b'。 */ #include #define CHAR_SIZE 256 #define NONE...

第十七题(找出字符串中第一个只出现一次的字符)

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 分析:这道题是2006 年go...

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

find the first unique character in  a string and you can just traverse this string only one time. if...

在字符串中找出第一个只出现一次的字符。经典C语言例题

原题要求:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。思考过程:字符串中字符有很多,只出现一次的也有很多,最直接简单的方法就是记录下每个字符出现的个数,然后从第一...

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

转载:http://zhedahht.blog.163.com/blog/static/25411174200722191722430/ 题目:在一个字符串中找到第一个只出现一次的字符。如输入aba...
  • memewry
  • memewry
  • 2012年07月22日 14:58
  • 507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:找出字符串的第一个只出现一次的字符
举报原因:
原因补充:

(最多只允许输入30个字)