第一个只出现一次的字符

来源:互联网 发布:淘宝卖家怎么屏蔽差评 编辑:程序博客网 时间:2024/06/02 02:23

在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置

<?phpfunction FirstNotRepeatingChar($str){    if (!isset($str)||empty($str)){        return -1;    }    //字符串转为数组    $arr=str_split($str);    //数组里每个数出现的次数,构成数组b,键名为字符,键值为对应字符出现次数    $b=array_count_values($arr);    foreach ($b as $key=>$value) {        //对出现一次的字符,取其在原数组的键名,多个出现一次,故取第一个        if ($value==1){            return array_keys($arr,$key)[0];        }    }}