首頁  >  文章  >  Java  >  java如何實作字串壓縮

java如何實作字串壓縮

王林
王林轉載
2020-03-17 17:37:474078瀏覽

java如何實作字串壓縮

使用雙指標進行字串壓縮

#實例:

public static void zipStr(String str) {
		char[] c = str.toCharArray();
		int index = 0;
		int num = 1;
		int len = c.length;
		while (index < len - 1) {
			while (c[index] == c[index + 1]) {
				num++;
				index++;
				if (index >= len - 1) {
					break;
				}
			}
			System.out.print(c[index]);
			System.out.print(num);
			num = 1;
			index++;
		}
	}

結果如圖:

java如何實作字串壓縮

(建議教學:java快速入門

說明:此方法對於形如(aaabbbccc)的字串進行壓縮,壓縮結果為a3b3c3,但對於形如(acaadbbbcceeeffffff)壓縮結果則為a1c1a2d1b3c2e3f6,顯然這種結果是不合理的,因此接下來運用HashMap進行字串壓縮

#使用HashMap進行字串壓縮

實例:

public static HashMap fun1(String str) {
		HashMap<Character, Integer> map = new HashMap<Character, Integer>();
		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			Integer count = map.get(c[i]);//此处的count的类型一定要为Integer,如果为int类型,则count值为0
			if (!map.containsKey(c[i])) {
				map.put(c[i], 1);
			} else {
				map.put(c[i], count + 1);
			}
		}
		return map;
	}

結果如圖:

java如何實作字串壓縮

#相關影片教學推薦:java影片教學

# ###

以上是java如何實作字串壓縮的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除