[演算法練習及思路-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 ' ';
}
}
相關文章
- (python版)《劍指Offer》JZ34:第一個只出現一次的字元Python字元
- 第一個只出現一次的字元——Java字元Java
- 每日一練(23):第一個只出現一次的字元字元
- 劍指Offer 字元流中第一個不重複的字元字元
- 第一次只出現一次的字元字元
- JZ-034-第一個只出現一次的字元位置字元
- Leetcode劍指offer(八)LeetCode
- 《劍指offer》JAVA題解,LeetCode評測JavaLeetCode
- Leetcode 137:只出現一次的數字 II(最詳細的解法!!!)LeetCode
- 劍指 Offer II 091、粉刷房子 | 演算法(leetcode,附思維導圖 + 全部解法)300題演算法LeetCode
- Leetcode 劍指 Offer 40. 最小的k個數LeetCode
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- 劍指offer解析-上(Java實現)Java
- 劍指offer解析-下(Java實現)Java
- 【LeetCode】【連結串列】劍指 Offer 52. 兩個連結串列的第一個公共節點 思路解析和程式碼LeetCode
- LeetCode 只出現一次的數字LeetCode
- LeetCode|劍指 Offer 49.醜數LeetCode
- [演算法練習及思路-程式設計師面試金典(Java解法)]No85計算器演算法程式設計師面試Java
- LeetCode 只出現一次的數字IIILeetCode
- LeetCode 只出現一次的數字IILeetCode
- LeetCode 劍指 Offer 05. 替換空格LeetCode
- LeetCode-劍指Offer刷題記錄LeetCode
- [演算法練習及思路-程式設計師面試金典(Java解法)]No77連續數列演算法程式設計師面試Java
- 劍指offer—49.醜數—分析及程式碼(Java)Java
- LeetCode之只出現一次的數字-SwiftLeetCodeSwift
- LeetCode136 只出現一次的數字LeetCode
- 劍指OFFER
- [演算法練習及思路-程式設計師面試金典(Java解法)]No46.漢諾塔問題演算法程式設計師面試Java
- leetcode136. 只出現一次數字LeetCode
- 【leetcode】劍指 Offer 16. 數值的整數次方LeetCode
- leetcode *劍指 Offer 47. 禮物的最大價值LeetCode
- 劍指Offer-38-兩個連結串列的第一個公共節點
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- 劍指offer面試題(41-50)——java實現面試題Java
- 劍指offer計劃5(查詢演算法中等版)---java演算法Java
- 劍指Offer-17-列印從1到最大的n位數-Java程式碼實現(兩種思路)Java
- 劍指 Offer 48. 最長不含重複字元的子字串字元字串
- leetcode解題總覽(演算法、劍指offer、SQL、多執行緒、shell)LeetCode演算法SQL執行緒