給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 -1。
示例s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
解題思路:
1 第一種最開始的思路是逐個字元去做迴圈遍歷,但是這個方案並不是最優的,遍歷的次數,是n*n+1次。所以如果遇到字串很長的話,會有問題 「超出時間限制」
2 還有一種方案就是遍歷兩次,第一次遍歷,把字元和字元的數量,存入雜湊字典。第二次遍歷去查詢數量,如果是1的話就是符合條件的字元,直接返回,沒有的話返回-1;public int firstuniqchar(string s)
}if (!issame)
return n;
}return -1;
}
C 字串中的第乙個唯一字元
題目描述 解析 這是一道常考的題目,如果不規定時間複雜度和空間複雜度那會是一道非常簡單的題目,但往往規定時間複雜度為o n 空間複雜度為o 1 解答該題的思路是利用ascll碼表,每乙個字母都有其獨特的碼值,利用該碼值,自定義陣列解答。class solution int size s.size 使...
字串中的第乙個唯一字元
給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。s leetcode 返回 0.s loveleetcode 返回 2.建立雜湊表儲存每個字元以及字元對應的索引,並將該字元加入列表中。在遍歷字元時首先判斷該字元是否已經存在於雜湊表,如果存在則將其從列表中移除 如果不...
字串中的第乙個唯一字元
字串中的第乙個唯一字元 題目描述 給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引。如果不存在,則返回 1。案例 s leetcode 返回 0.s loveleetcode 返回 2.分析 字元型變數只有256個,因為char型變數只有1位元組,所以,可以建立乙個256個元素的標記陣列,陣...