zoukankan      html  css  js  c++  java
  • Solution 17: 字符串中只出现一次的字符

    问题描述

    在一个字符串中找到第一个只出现一次的字符。如输入字符串"abbc",应该输出字符'a'。

    程序

    public class FirstCharacter {
    	// Time/Space: O(n)
    	public char findFirstAppearChar(String s) {
    		if (s == null || s.length() == 0) {
    			return ' ';
    		}
    
    		HashMap<Character, Integer> map = new HashMap<Character, Integer>();
    		for (int i = 0; i < s.length(); i++) {
    			char c = s.charAt(i);
    			if (!map.containsKey(c)) {
    				map.put(c, 1);
    			} else {
    				map.put(c, map.get(c) + 1);
    			}
    		}
    
    		for (int i = 0; i < s.length(); i++) {
    			char c = s.charAt(i);
    			if (map.get(c) == 1) {
    				return c;
    			}
    		}
    
    		return ' ';
    	}
    
    	// Time: O(n^2)
    	public char findFirstAppearCharNaive(String s) {
    		if (s == null || s.length() == 0) {
    			return ' ';
    		}
    
    		for (int i = 0; i < s.length(); i++) {
    			char c = s.charAt(i);
    			boolean flag = true;
    			for (int j = i + 1; j < s.length(); j++) {
    				if (s.charAt(j) == c) {
    					flag = false;
    					break;
    				}
    			}
    			if (flag) {
    				return c;
    			}
    		}
    		
    		return ' ';
    	}
    }
    
  • 相关阅读:
    VUE初始化
    Flask基础
    算法面试题整理
    python基础数据类型整理
    Cookies 和 Session
    Django 第一天
    初入社会八个月总结
    CSS常用选择器
    分享一点漂亮的扁平化网页
    几个漂亮的网页设计
  • 原文地址:https://www.cnblogs.com/harrygogo/p/4617935.html
Copyright © 2011-2022 走看看