php实现求字符串第一个只出现一次的字符

一、总结

很简单的逻辑

 1、两个数组,一个存字母,一个存字母出现的次数

 

二、php实现求字符串第一个只出现一次的字符

题目描述



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


 

 

三、代码

代码一:



1 <?php
2
3 function FirstNotRepeatingChar($str)
4 {
5 $a = array(); //1、两个数组,一个存字母,一个存字母出现的次数
6 $b = array();
7 for($i=0;$i<strlen($str);$i++){
8 if(!isset($a[$str[$i]])){ //2、isset函数的使用
9 $a[$str[$i]] = 1;
10 $b[$str[$i]] = $i;
11 }else{
12 $a[$str[$i]] ++;
13 }
14 }
15 foreach($a as $k=>$v){
16 if($v==1){
17 return $b[$k];
18 }
19 }
20 return -1;
21 }