码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer-第五章优化时间和空间效率(在字符串中第一次出现切只出现一次的字符)

时间:2015-08-27 00:10:29      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

题目:在字符串中第一次出现切只出现一次的字符

思路:用HashMap来存放对应的char值和该char出现的次数。做一次变量就可以得到第一个只出现一次的字符。

Java代码:

import java.util.LinkedHashMap;

//思路:用HashMap来存放对应的char值和该char出现的次数。做一次变量就可以得到第一个只出现一次的字符。
public class FirstNotRepeatingChar {
    public Character firstNotRepeating(String str){
        if(str==null)
            return null;
        char[] chars=str.toCharArray();
        LinkedHashMap<Character,Integer> hashMap=new LinkedHashMap<Character,Integer>();
        for(char item:chars){
            if(hashMap.containsKey(item))
                hashMap.put(item, hashMap.get(item)+1);
            else
                hashMap.put(item, 1);
            
        }
        for(char key:hashMap.keySet()){
            if(hashMap.get(key)==1)
                return key;
        }
        return null;
    }
    public static void main(String[] args){
        String str = "abaccdebff";
        FirstNotRepeatingChar test = new FirstNotRepeatingChar();
        System.out.println(test.firstNotRepeating(str));
    }
}

 

剑指offer-第五章优化时间和空间效率(在字符串中第一次出现切只出现一次的字符)

标签:

原文地址:http://www.cnblogs.com/hupp/p/4761783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!