[演算法練習及思路-leetcode劍指offer(Java解法)]No50.第一個只出現一次的字元
題號:劍指 Offer 50
題目名:第一個只出現一次的字元
原題URL:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/
題目描述
在字串 s 中找出第一個只出現一次的字元。如果沒有,返回一個單空格。 s 只包含小寫字母。
示例
示例 1:
s = "abaccdeff"
返回 "b"
s = ""
返回 " "
限制
- 0 <= s 的長度 <= 50000
思路
1.雜湊表,用陣列儲存每個字元出現的次數
解題程式碼
class Solution {
public char firstUniqChar(String s) {
if(s==null||s.isEmpty()) return ' ';
char[] chars = s.toCharArray();
int[] hash = new int[26];
for (int i = 0; i < chars.length; i++) {
hash[chars[i]-'a']++;
}
for (int i = 0; i < chars.length; i++) {
if(hash[chars[i]-'a'] == 1) return chars[i];
}
return ' ';
}
}
相關文章
- 【劍指offer】第一個只出現一次的字元字元
- [劍指Offer]面試題35:第一個只出現一次的字元面試題字元
- (python版)《劍指Offer》JZ34:第一個只出現一次的字元Python字元
- 第一個只出現一次的字元——Java字元Java
- 每日一練(23):第一個只出現一次的字元字元
- 劍指offer 陣列中只出現一次的數字陣列
- 劍指Offer 字元流中第一個不重複的字元字元
- 《劍指offer》:[40]陣列中只出現一次的數字陣列
- 【劍指offer】陣列中只出現一次的數字(1)陣列
- 【劍指offer】陣列中只出現一次的數字(2)陣列
- 《劍指offer》:[55]字元流中第一個不重複的字元字元
- 第一次只出現一次的字元字元
- JZ-034-第一個只出現一次的字元位置字元
- 【劍指offer】刪除在另一個字串中出現的字元字串字元
- 在字串中,尋找第一個只出現一次的字元字串字元
- 劍指offer解析-下(Java實現)Java
- 劍指offer解析-上(Java實現)Java
- Leetcode劍指offer(八)LeetCode
- 《劍指offer》JAVA題解,LeetCode評測JavaLeetCode
- 第一個值出現一次的字元字元
- Leetcode 劍指 Offer 40. 最小的k個數LeetCode
- 【LeetCode】【連結串列】劍指 Offer 52. 兩個連結串列的第一個公共節點 思路解析和程式碼LeetCode
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- Leetcode 137:只出現一次的數字 II(最詳細的解法!!!)LeetCode
- [演算法練習及思路-程式設計師面試金典(Java解法)]No85計算器演算法程式設計師面試Java
- 劍指 Offer II 091、粉刷房子 | 演算法(leetcode,附思維導圖 + 全部解法)300題演算法LeetCode
- 劍指offer—49.醜數—分析及程式碼(Java)Java
- 劍指offer面試題(41-50)——java實現面試題Java
- LeetCode|劍指 Offer 49.醜數LeetCode
- 【劍指offer】兩個棧實現一個佇列佇列
- 【劍指offer】兩個佇列實現一個棧佇列
- 1.7程式設計基礎之字串02:找第一個只出現一次的字元程式設計字串字元
- [演算法練習及思路-程式設計師面試金典(Java解法)]No46.漢諾塔問題演算法程式設計師面試Java
- [演算法練習及思路-程式設計師面試金典(Java解法)]No77連續數列演算法程式設計師面試Java
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- 《劍指 Offer》棧實現佇列佇列
- LeetCode-劍指Offer刷題記錄LeetCode
- LeetCode 劍指 Offer 05. 替換空格LeetCode