PHP获取字符流中第一个不重复字符的方法

时间:2022-08-23 12:55:14

本文实例讲述了PHP获取字符流中第一个不重复字符的方法。分享给大家供大家参考,具体如下:

问题

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。

输出描述:

如果当前字符流没有存在出现一次的字符,返回#字符

题解

使用索引数组

实现代码

  1. <?php 
  2. global $result
  3. //Init module if you need 
  4. function Init(){ 
  5.   global $result
  6.   $result = []; 
  7. //Insert one char from stringstream 
  8. function Insert($ch
  9.   global $result
  10.   // write code here 
  11.   if(isset($result[$ch])){ 
  12.     $result[$ch]++; 
  13.   }else
  14.     $result[$ch] =1;  
  15.   } 
  16. //return the first appearence once char in current stringstream 
  17. function FirstAppearingOnce() 
  18.   global $result
  19.   foreach($result as $k =>$v){ 
  20.     if($v ==1){ 
  21.       return $k
  22.     } 
  23.   } 
  24.   return "#"

希望本文所述对大家PHP程序设计有所帮助。