《剑指offer》 字符串第九题:字符流中第一个不重复的字符
2024-01-03 09:23:51
题目描述:
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"
当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:
如果当前字符流不存在只出现一次的字符,返回“#”字符。
此题类似与我博客中的这篇:https://blog.csdn.net/y6533/article/details/134866811?spm=1001.2014.3001.5501
?代码实现:
package 字符串;
public class String9 {
//因为java中最多有256个字符,所以定义长度为256
String s="";
int[] count=new int[256]; //256个字符
public void Insert(char ch)
{
s+=ch;
count[ch]+=1;
}
public char find()
{
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
if(count[c]==1)
return c;
}
return '#';
}
public static void main(String[] args) {
String9 s = new String9();
System.out.println(s.find()); // '#'
s.Insert('a');
s.Insert('a');
s.Insert('b');
s.Insert('c');
s.Insert('c');
System.out.println(s.find());
s.Insert('3');
s.Insert('4');
s.Insert('b');
s.Insert('c');
s.Insert('c');
System.out.println(s.find());
}
}
运行结果:
文章来源:https://blog.csdn.net/y6533/article/details/135352937
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!