在一个字符串中找到第一个只出现一次的字符
2014-08-06 15:40
267 查看
package com.String; public class FirstShowOnlyOnceElement { /** * Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b 1.int[] * count:count[i]表示i对应字符出现的次数 2.将26个英文字母映射:a-z <--> 0-25 3.假设全部字母都是小写 */ public static void main(String[] args) { String str = "abacbcdeff"; int index = find(str); if (index != -1) { char firstShowOnlyOnceElement = str.charAt(index); System.out.println(firstShowOnlyOnceElement); } } // return the index of firstShowOnlyOnceElement public static int find(String str) { if (str == null || str.length() == 0) { return -1; } int len = str.length(); char[] letters = str.toCharArray(); // In java,'char' is 16 bits,so there are 2^16 characters. // But we deal with only the 26 English letters in this case. int[] count = new int[26];// the 'HashTable' for (int i = 0; i < len; i++) { char curChar = letters[i]; count[curChar - 'a']++; } for (int i = 0; i < len; i++) { char curChar = letters[i];// iterate the string,not the HashTable if (count[curChar - 'a'] == 1) { return i; } } return -1; } }转http://bylijinnan.iteye.com/blog/1402742
相关文章推荐
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b;
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 17.在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符。
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 在一个字符串中找到第一个只出现一次的字符(java实现)
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 每天学习一算法系列(17)(在一个字符串中找到第一个只出现一次的字符)
- 第17 题:题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 17.在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 17、在一个字符串中找到第一个只出现一次的字符