JAVA实现 剑指offer—求字符串中第一个只出现一次的字符

来源:互联网 发布:女人馒头蝴蝶 知乎 编辑:程序博客网 时间:2024/05/21 12:49

首先要向C(C++)致敬,这是我接触到的第一门计算机编程语言,本文参考了剑指offer—求字符串中第一个只出现一次的字符的范例,突发奇想用java实现,虽然相对于C(C++),Java在效率上较为低下了许多,但是思想还是可以为大家所参考的,下面直接上代码:

package commonTest;import java.util.HashMap;import java.util.Map;public class FirstOnceCharTest{public static void main(String[] args){//FirstOnceCharTest firstOnceCharTest = new FirstOnceCharTest();FirstOnceChar firstOnceChar = new FirstOnceCharTest().new FirstOnceChar();String string = "dskjcndskjgoiesfjsdvbdfkjsnvfdjkvrfdvnfdslsdjfefsdvn";System.out.println(firstOnceChar.firstOnceChar(string));}class FirstOnceChar{public char firstOnceChar(String str){Map<Character, Integer> map = new HashMap<>();for (int i = 0; i < str.length(); i++){str.charAt(i);if(map.get(str.charAt(i)) == null){map.put(str.charAt(i), 1);}else{map.put(str.charAt(i), map.get(str.charAt(i)) + 1);}}char temp =0;for (Character character: map.keySet()){if(map.get(character) == 1){temp = character;break;}}return temp;}}}

上述代码运行结果如下:

g


作者声明:有问题请联系794465942@qq.com

0 0
原创粉丝点击