您的位置:首页 > 职场人生

面试题35:第一个只出现一次的字符

2015-01-22 11:28 204 查看
题目:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。

Java代码实现:

public class FirstNotRepeatingChar {

public char firstNotRepeatingChar(char [] pString)
{
if(pString == null)
return '\0';

int tableSize = 256;
int [] hashTable = new int[tableSize];

for(int i = 0; i < tableSize; i++)
{
hashTable[i] = 0;
}

for(int j = 0; j < pString.length; j++)
{
hashTable[pString[j]] ++;
}

for(int k = 0; k < pString.length; k++)
{
if(hashTable[pString[k]] == 1)
return pString[k];
}

return '\0';
}

public static void main(String[] args)
{
String inputStr = "abaccdeff";
char [] pString = inputStr.toCharArray();
System.out.println(String.valueOf(new FirstNotRepeatingChar().firstNotRepeatingChar(pString)));
}

}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: