解题思路也比较简单,你需要使用一个中间变量来存储,首先还是需要将进行处理的字符串转换为 char 的数组...
开个26个数的数组,然后先对字符串过一遍,统计每个字母出现的次数,然后从头再国一遍,第一个字母数为1的即为首先出现并且只出现一次的字母。 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 publicclassSolution { publicintfirstUniqChar(String s) { int[] a =newint[26]; for(inti =0; i < s.length...
private String firstUniqCharString(String data) { // NULL CHECK if (data.equals("")) { return ""; } char[] strArray = data.toCharArray(); String retStr = ""; if (data.length() == 1) { retStr = data; } for (int i = 0; i < strArray.length; i++) { String valStr = ...
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1. 给一个字符串,返回第一个不重复的字符的index,要是没有的话就返回-1 //第一次做,感觉巨简单,设一个set,一旦contains,就用striing.indexOf()---还能用上不熟悉的函数,简直完...
Java Code: importjava.util.*;publicclassSolution{publicstaticvoidmain(String[]args){// Test the first_Uniq_Char function and print the resultStrings="wresource";System.out.println("Original String: "+s);System.out.println("First unique character of the above: "+first_Uniq_Char(s));}public...
for i,c in enumerate(s): if cnt[c] == 1: return i return -1 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. java 里还可以,直接一次扫描s搞定: class Solution { public int firstUniqChar(String s) { Map<Character, Integer> map = new LinkedHashMap<>(); ...
利用Java 字符串集成操作函数解题,很巧妙,效率也很高。 其中: indexOf(): 返回该元素第一次出现的索引,没有则返回 -1 lastIndex(): 返回该元素最后一次出现的索引,没有则返回 -1 class Solution { public int firstUniqChar(String s) { int res = s.length(); for (int i = 'a'; i <= '...
/** * Return the first Uniq Char String without using Map * @param data * @return */ private String firstUniqCharString(String data) { // NULL CHECK if (data.equals("")) { return ""; } char[] strArray = data.to
/** * Return the first Uniq Char String without using Map * @param data * @return */ private String firstUniqCharString(String data) { // NULL CHECK if (data.equals("")) { return ""; } char[] strArray = data.toCharArray(); String retStr = ""; if (data.length() == 1) {...
fn unique_letter_string(s: &str) -> i32 { // key : 某一种字符 // value : 出现这种字符依次的位置 let mut indies: HashMap<char, Vec<i32>> = HashMap::new(); for (i, c) in s.chars().enumerate() { indies.entry(c).or_insert_with(Vec::new).push(i as i32); ...