溫馨提示×

溫馨提示×

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

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

java如何從字符串中找出第一個不重復的字符

發布時間:2022-03-17 11:50:15 來源:億速云 閱讀:285 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關java如何從字符串中找出第一個不重復的字符,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

如何從字符串中找出第一個不重復的字符?

比如說字符串“沉默王沉沉默二”,第一個不重復的字符是“王”,對吧?因為“沉”重復了,“默”重復了。

public class FindNonRepeatingChar {     public static void main(String[] args) {         System.out.println(printFirstNonRepeatingChar("沉默王沉沉默二"));         System.out.println(printFirstNonRepeatingChar("沉默王沉"));         System.out.println(printFirstNonRepeatingChar("沉沉沉"));     }      private static Character printFirstNonRepeatingChar(String string) {         char[] chars = string.toCharArray();          List<Character> discardedChars = new ArrayList<>();          for (int i = 0; i < chars.length; i++) {             char c = chars[i];              if (discardedChars.contains(c))                 continue;              for (int j = i + 1; j < chars.length; j++) {                 if (c == chars[j]) {                     discardedChars.add(c);                     break;                 } else if (j == chars.length - 1) {                     return c;                 }             }         }         return null;     } }

輸出結果如下所示:

王 默 null

說一下我的思路:

1)把字符串拆分成字符數組。

2)聲明一個 List,把重復的字符放進去。

3)外層的 for 循環,從第一個字符開始,如果已經在 List 中,繼續下一輪。

4)嵌套的 for 循環,從第一個字符的下一個字符(j = i + 1)開始遍歷,如果找到和之前字符重復的,就加入到 List  中,跳出內層的循環;如果找到最后(j == chars.length - 1)也沒有找到,就是第一個不重復的字符,對吧?

關于“java如何從字符串中找出第一個不重復的字符”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女