第一个只出现一次的字符

在一个字符串中找到第一个只出现一次的字符。如输入aabbccddvllllsd,则输出v。听说此题目为2006年谷歌笔试.

C++代码如下:

// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
using namespace std;

char FindFirstShow(char *data)
{
	int s[256]={0};
	char *str=data;
	while(*str!='\0')
	{   
        ++s[*str];
		++str;
	}
  for(char* i=data;*i!='\0';++i)
	  if(s[*i]==1)
	  {
		  return *i;
	  }
	  return NULL;	
}
int main(int argc, char* argv[])
{
	char *str="aabbccddvllllsd";
	cout<<"第一个不重复的字符是"<<FindFirstShow(str)<<endl;
	getchar();
	return 0;
}