问题
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符
题解
使用索引数组
实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php global $result ; //Init module if you need function Init(){ global $result ; $result = []; } //Insert one char from stringstream function Insert( $ch ) { global $result ; // write code here if (isset( $result [ $ch ])){ $result [ $ch ]++; } else { $result [ $ch ] =1; } } //return the first appearence once char in current stringstream function FirstAppearingOnce() { global $result ; foreach ( $result as $k => $v ){ if ( $v ==1){ return $k ; } } return "#" ; } |
原文链接:http://blog.csdn.net/acingdreamer/article/details/77512124
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容