JAVA中如何洗掉字串中出現多次的字符,只保留第一個字符并回傳結果示例:
輸入:字串香蕉輸出:字串禁令
uj5u.com熱心網友回復:
使用區域變數來保存空字串
回圈輸入字串
只要區域變數不包含當前位置的字符,就繼續將當前字符附加到區域變數
String s1 = ""; for (int i=0; i < s.length(); i ){ if (!s1.contains("" s.charAt(i))){ s1 = s.charAt(i); } }
uj5u.com熱心網友回復:
代碼點
一對一處理單個字符時,請使用代碼點整數。您會經常看到使用的char原語或Character物件,但自 Java 2 以來,該型別基本上已被破壞,自 Java 5 以來已遺留下來。
您可以IntStream通過呼叫String#codePoints. 從那里我們通過呼叫消除重復IntStream#distinct。int可以通過附加到StringBuilder物件來收集剩余的代碼點值。最后,我們將可變物件轉換StringBuilder為不可變String物件。
String distinct =
"bananas"
.codePoints()
.distinct()
.collect( StringBuilder :: new , StringBuilder :: appendCodePoint , StringBuilder :: append )
.toString();
禁令
uj5u.com熱心網友回復:
好像是面試題。
嘗試以下步驟:
- create int[26]- 假設輸入總是小寫,保存每個字母的訪問計數
- 回圈輸入
- 未訪問該字母時附加到輸出
- 更新訪問次數
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/468101.html
下一篇:字串的實際用途是什么?
