91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java怎么獲取字符串中只出現一次的字符

發布時間:2020-06-21 22:49:50 來源:億速云 閱讀:413 作者:鴿子 欄目:編程語言

問題:

在一個字符串(0<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,并返回它的位置, 如果沒有則返回 -1(需要區分大小寫)

解決思路:

題目要求很明確,就是遍歷字符串,并且給字符計數,計數之后,找到計數為1的字符即可。很明顯這需要用到hashmap,key就是字符串中的各個字符,而value就是這個字符在字符串中出現的次數。

代碼如下:

import java.util.LinkedHashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        int len = str.length();
        LinkedHashMap<Character, Integer> map = new LinkedHashMap<>();
        for (int i = 0; i < len; i++) {
            char c = str.charAt(i);
            Integer val = map.get(c);
            map.merge(c, 1, (oldValue, newValue) -> oldValue + newValue);
        }
        Character resultKey = null;
        for (Character c : map.keySet()){
            if (map.get(c) == 1){
                resultKey = c;
                break;
            }
        }
        for (int i = 0 ;i < len; i++){
            if (str.charAt(i) == resultKey){
                return i;
            }
        }        
       return -1;
    }
}

以上就是java實現查找第一個只出現一次的字符的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秭归县| 永春县| 明光市| 绥中县| 卫辉市| 宜黄县| 泰和县| 抚州市| 大理市| 化州市| 上虞市| 凉山| 绵阳市| 柳河县| 昂仁县| 灯塔市| 靖远县| 九江县| 雅江县| 疏勒县| 阿拉善右旗| 浪卡子县| 米易县| 板桥市| 股票| 潜江市| 平湖市| 浦江县| 永春县| 瓦房店市| 栾城县| 鹿泉市| 青阳县| 漾濞| 秦安县| 眉山市| 阳高县| 灵台县| 江安县| 弥勒县| 吉隆县|