亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

石景山区| 盐山县| 宁阳县| 建宁县| 余姚市| 乌拉特中旗| 无锡市| 盐津县| 朔州市| 新乡县| 纳雍县| 乌恰县| 乌拉特中旗| 万年县| 义乌市| 龙南县| 中方县| 宁化县| 镇江市| 公主岭市| 甘南县| 敦化市| 华容县| 大冶市| 福安市| 丹阳市| 格尔木市| 南丹县| 三门县| 旺苍县| 兴城市| 渭源县| 徐州市| 云阳县| 青铜峡市| 民权县| 沙雅县| 锡林浩特市| 郴州市| 酉阳| 武清区|