剑指offer 找出字符串中第一个只出现一次的字符

剑指offer 找出字符串中第一个只出现一次的字符

  • 题目描述

找出字符串中第一个只出现一次的字符

  • 题目解答

新建一个256大小的数组,来存放每一个char。遍历一遍char数组,将每个字符个数统计到256大小的数组中。最后输出个数为1的下标。

class Solution {
public:
	int FindChar(string str) {
		int ret = -1;
		if (str.size() == 0)
			return -1;
		int num[256] = { 0 };
		int i = 0;
		while (str[i] != '\0'){
			num[str[i]]++;
			++i;
		}
		i = 0;
		while (str[i] != '\0'){
			if (num[str[i]] == 1)
				return i;
			i++;
		}
		return ret;
	}

};
弹钢琴的猫 /
Published under (CC) BY-NC-SA in categories 算法  tagged with 剑指offer  String